解释型语言

关于计算机编程语言——编译型和解释型_2

家住魔仙堡 提交于 2020-03-28 03:02:29
目前,我们都是采用高级语言编程(写汇编和机器语言的大牛们除外),但是计算机只能识别二进制( 机器语言),不能直接理解高级语言 ,所以我们必须把高级语言“ 翻译”成计算机能够理解的机器语言。 说到“ 翻译“, 其实总共有两种方式: 1. 编译: 通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高级语言“ 翻译 ”成机器语言(具体翻译过程可以参看下图), 把源高级程序编译成为机器语言文件,比如windows下的exe文件。 一个完整的编译系统与 一个用C编写的程序hello.c的编译过程 2. 解释:解释型程序在运行的时候才“ 翻译 ”,比如VB语言,在执行的时候,专门有一个解释器将VB语言“ 翻译 ”成机器语言, 每条语句都是执行的时候才翻译。 编译型与解释型,两者各有利弊: 1、 编译型语言:一次编译完成后,可以直接运行, 程序执行效率高 ; 解释型语言:执行时才“翻译”成机器语言,解析一行,“ 翻译 ”一行,执行一行,程序执行效率相对较低; 但是不能一概而论, 部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。 2、由于 编译型程序 执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它, 像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言;

编译型和解释型语言

时光怂恿深爱的人放手 提交于 2020-03-21 16:40:29
目前,常用的解释性语言有 Perl,Python, Lisp/Scheme,Ruby等,究竟什么是解释性语言呢? 所谓的解释性语言主要包括两个方面:以使他们都有自己的解释器,也可以通俗的理解为翻译器;二是他们都是在其他的编译语言(通常是C语言)的基础上定义和扩充了自己的语法结构。 解释性语言的工作原理就是用自己定义的解释其解释并执行有自己定义的语法结构生成的程序代码。所以解释性语言并不编译。这里要区分Java,因为Java并不是单单是一门解释性语言,他为了提高效率而拥有他自己的即时解释器,实际上Java可以算作一门解释和编译的结合语言。 编译型和解释型语言: 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。 翻 译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的 文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语 言的程序执行效率高。 解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译

编译型语言、解释型语言、脚本语言的区别

谁说我不能喝 提交于 2020-03-14 18:42:03
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 把高级语言翻译成机器语言的两种方式:一种是编译,一种是解释。两种方式只是翻译的时间不通。 1.编译 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。 最典型的例子就是C语言。 2.解释 解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。 此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。 用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。 再换成C#,C#首先是通过编译器将C#文件编译成IL文件

解释型语言与编译型语言的区别?

岁酱吖の 提交于 2020-03-08 08:02:25
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 C/C++ 等都是编译型语言,而php,Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。 在运行的时候,由JVM将字节码再翻译成机器语言。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。javascript,asp,php都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。 脚本语言是一种解释性的语言,例如javascript,php等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话 就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序 执行效率高。 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写 的程序。

编译型语言和解释型语言

不羁的心 提交于 2020-03-04 09:44:02
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。 1).编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。    2).解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。 编译型语言和解释型语言的区别:前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言;而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、MATLAB 等等。 下面举个例子: 甲和乙同时读一本外国小说。 甲:一边看外国小说

解释型语言和编译型语言

让人想犯罪 __ 提交于 2020-02-22 20:57:08
1、概述 计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。 - 翻译器翻译的方式有两种:一个是编译,另一个是解释。 两种方式之间的区别在于翻译的时间点不同 - 编译器是在代码执行之前进行编译,生成中间代码文件 - 解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器) 解释型语言 编译型语言 JS Java 2、执行过程 来源: CSDN 作者: 2020_h 链接: https://blog.csdn.net/qq_36323561/article/details/104448177

编译型语言和解释型语言的区别

我们两清 提交于 2020-02-08 17:53:53
1. 编译型语言的工作原理 属于编译型语言的有:C、C++、Delphi等,其中选取C语言为代表来说明。首先,C编程的基本策略是,用程序把源代码文件转换为可执行文件。 典型的C实现通过编译和链接两个步骤来完成这一过程:   1.程序员使用文本编辑器创建源代码文件   2. 编译器把源代码翻译成中间代码(机器语言),并把结果放在目标代码文件中   3. 链接器把中间代码和系统的标准启动代码、库函数代码合并成可执行文件,并交由CPU去执行 *科普:   1. 启动代码,充当着程序和操作系统之间的接口,不同操作系统对应不同的启动代码,因为这些系统处理程序的方式不同。   2. 库函数代码,为C标准库中的函数,几乎所有的C程序都要使用。例如,example.c中用了printf()函数,目标代码文件并不包含该函数的代码,它只包含了使用printf()函数的指令。printf()函数真正的代码储存在另一个被称为库的文件中。库文件中有许多函数的目标代码。 图1 编译器和链接器 2. 解释型语言的工作原理 属于解释型语言的有:Python、JavaScript 、 Perl 、Shell等,其中选取Python为代表来说明。首先,Python编程的基本策略是,用程序把源代码文件一行一行地转换为可执行代码。 典型的Python实现通过解释这个步骤来完成这一过程:   1

解释型语言与编译型语言的区别

这一生的挚爱 提交于 2020-01-25 23:54:12
编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。 在运行的时候,由JVM将字节码再翻译成机器语言。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。 4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。 5.脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件. 你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言

解释型语言与编译型语言的区别

こ雲淡風輕ζ 提交于 2020-01-25 23:51:08
译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。 在运行的时候,由JVM将字节码再翻译成机器语言。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVAS CRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。 4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。 5.脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件. 你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言。

编译型语言和解释型语言的区别

无人久伴 提交于 2020-01-08 11:54:41
概念 计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种:一个是编译,一个是解释。 编译型语言: 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。 执行过程:源代码->汇编语言->机器语言->CPU执行 特点 执行效率高 :只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果,可以脱离语言环境独立运行 跨平台性差 :依赖于编译器,编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件 代表语言:C、C++、Pascal、Object-C、Swift 适用范围:编译型语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统时一般采用它 解释型语言: 解释型语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。 执行过程:源代码->字节码->解释器->机器语言->CPU执行 特点 执行效率低 :程序不需要编译