精华内容
下载资源
问答
  • 编译语言解释语言区别

    万次阅读 多人点赞 2018-09-27 20:31:22
    编译语言解释语言区别   1、编译语言 (1)只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高; (2)编译语言代表:C、...

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

     

    1、编译性语言

    • (1)只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高
    • (2)编译性语言代表:C、C++、Pascal/Object Pascal(Delphi);
    • (3)程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;

    不同平台对编译器影响较大。 
    如:

    • (1)16位系统下int是2个字节(16位),而32位系统下int占4个字节(32位);
    • (2)32位系统下long类型占4字节,而64位系统下long类型占8个字节;

    2、解释性语言

    • (1)源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;

    源代码—>中间代码—>机器语言

    • (2)程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
    • (3)解释性语言代表:Python、JavaScript、Shell、Ruby、MATLAB等;
    • (4)运行效率一般相对比较低,依赖解释器,跨平台性好

    3、比较

    • (1)一般,编译性语言的运行效率比解释性语言更;但是不能一概而论,部分解释性语言的解释器通过在运行时动态优化代码,甚至能使解释性语言的性能超过编译性语言;
    • (2)编译性语言的跨平台特性比解释性语言一些;

    4、java是编译性语言还是解释性语言?

    对于这个问题,网上是众说纷纭;有人说是编译性语言,也有人说是解释性语言。但是个人觉得正如一位网友所说的那样,解释性或编译性和语言本身是没有关系的,即解释性或编译性可以看作是一种语言的状态;

    • java语言应是编译性-解释性语言,因为其同时具备编译性和解释性两种特性;

    java文件先编译成与平台无关的.class的字节码文件,然后.class的字节码文件既可以在Windows平台上的java虚拟机(JVM)上进行解释运行,也可以在Linux平台上的JVM上解释运行;而JVM的翻译过程时解释性的,JVM从.class的字节码文件中读出一条指令,翻译一条指令,然后执行一条指令,这个过程就称为java的解释执行

     

    以上内容参考了一些网络资料,再加上了自己的一些总结和体会!如有错误,欢迎指正!谢谢!

    展开全文
  • 1、解释语言编译语言区别翻译时间的不同。。编译语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释语言,是在运行的时候将程序翻译...

    1、解释型语言与编译型语言的区别翻译时间的不同。。

    编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。

    解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。

    C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。

    虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
    在运行的时候,由JVM将字节码再翻译成机器语言。
    注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

    2.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.

    脚本语言不需要编译,可以直接用,由解释器来负责解释。 

    3.脚本语言一般都是以文本形式存在,类似于一种命令. 

     


    (1)什么是脚本语言?
    (2)为什么叫做脚本语言,而不叫做其它的名字?请您介绍一下“脚本语言”这个名字的来历?具有什么特征的语言被称为脚本语言?

    在网上查了查,没查着。脚本语言英文应该是script language吧。script在金山词霸中的解释有:A copy of a text used by a director or performer.也就是按照script进行导演或演出。用在计算机上可能就变成了:可以执行的文本。因为我知道的所有脚本文件都是文本文件格式的,而且可以执行,从这个意义上与script的含义很接近。更关键的是脚本语言是从英文翻译过来的,因为外国人这么叫,所以我们也这么翻译的吧。历史我不知道。
    我个人认为:源程序是文本格式,可以被解释执行的语言可以算作脚本语言。如:python,perl,php,shell,awk等等,许多。不过,有一些脚本语言已经发生了变化,如python,perl已经可以编译成中间代码然后执行,这样的脚本语言已经可以被称为编译型脚本语言。

    BTW:脚本语言与解释语言我认为还是有区别的。解释语言是说解释执行的语言,但执行的代码并不一定是文本格式的。脚本语言的程序是文本文件,并且是解释执行的。但这两种区别也有些模糊。反正有点区别,不过你认为差不多也行,好象现在并不太细分脚本语言与解释语言。

     


        脚本与解释有时是很模糊,其实没有必要搞得这么清楚了,当然如果你有兴趣去搞。在这里我们可以干脆将脚本与解释混为一谈。解释是第一位的,至于是不是文本格式,是否会编译成字节码倒是次要的。不这,我所接触的脚本语言(我认为是)只需要有文本格式就可以运行。象Python有中间代码,不过这一过程完全是自动的,你不用去管它。因此从最基本的运行条件来说,我认为脚本语言似乎文件格式要求是文本的。象java,其实是有一个虚拟机在运行,它也是解释执行的,那它算不算脚本语言呢,我想应该不算吧。因为,它的运行是先编译成字节码,再去运行。如果编译过程全自动了,算吗?这许就可以算了吧。

    不过,我们完全可以不去关心这些个案,只考虑通常的情况就行了。因此,我个人认为:脚本语言:一、解释执行 二、执行文件为文本即可

     


    抽象的级别:这是最重要也是最明显示的不同。脚本语言对程序员提供了更高级的抽象。这一点明显表现在:在这种语言自身中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。这样可以创建非常成功的程序。    
        
        类型定义:系统语言通常是强类型和静态类型定义。这就意味着所有变量的类型要在程序中指定,在编译时检查。相反地,脚本语言是最松散的类型定义,完全没有类型声明,并且在运行时进行动态类型检查。    
        
        执行:系统语言的特点是编译的。程序被编译成可执行的二进制。另一方面,脚本语言的特点是解释,也就是,指令被立即执行,不存在一个编译的中间状态。这就意味着脚本语言是交互式的(你可以在提示符下敲入命令,并且看到结果),这是另一个巨大的胜利。这样完全将编译过程从编辑-编译-运行循环中去掉了。    
        
        速度:以上三点是脚本语言一方面在速度与效率,   一方面在易用性与表示式的强大性之间进行折衷的典型例子。这就使得脚本语言的执行速度比系统语言慢一个数量级。这就是对脚本语言诽谤最多的方面。性能的降低不是真正的问题,因为思想是用脚本语言来组合组件,这些组件是用象C   这样的快速系统语言来编写的。所以所有需要运行快速的东西将因为是用快速的语言实现的而运行得快速。脚本语言只用于将东西绑在一起,并且这些通常不是性能的瓶颈(   或如果是,你需要重新检查你的设计)。

    展开全文
  • 编译型语言和解释语言区别

    千次阅读 2017-03-24 09:18:01
    翻译程序:是一种系统程序,它将计算机编程语言编写的程序翻译成另外一种计算机语言的一般来说等价的程序,主要包括编译程序和解释程序,汇编程序也被认为是翻译程序。 程序的最初形式称为源程序或者源代码,翻译后...

    计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。

    翻译程序:是一种系统程序,它将计算机编程语言编写的程序翻译成另外一种计算机语言的一般来说等价的程序,主要包括编译程序解释程序汇编程序也被认为是翻译程序。

    程序的最初形式称为源程序或者源代码,翻译后的形式被称为目标程序或者目标代码

    大多数翻译程序是将高级语言编写的程序翻译为机器语言形式的可执行程序。但是也有些翻译程序将源程序翻译成其他高级语言或者字节码(Java的.class文件)等中间形式。翻译程序不是语言处理程序。

    过去对语言的分类有解释型语言和编译型语言之说

    什么样的语言称之为解释型语言?   源代码不是直接翻译成机器语言,而是程序在运行时先翻译成中间代码,再由解释器对中间代码进行解释运行。翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScript / Perl /Shell等都是解释型语言。但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。应用方向:应用于一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序。(跨平台性:Java在编译的时候没有编译成指定CPU类型的汇编代码,也没有和具体操作系统的系统调用相关联,所以编译出来的结果是和CPU,操作系统都不相关的。Java编译出来的是一种字节码,这种字节码必须在Java的虚拟机上才能运行)

    什么是编译型语言?  编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。应用方向:由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它。

    其实,现在用编译型、解释型来分类编程语言已经有点力不从心了。

    JAVA的第一道工序是javac编译,当然目标文件是BYTECODE。后续可能有三种处理方式:
    1. 运行时,BYTECODE由JVM逐条解释执行,
    2. 运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,将运行频率很高的字节码直接编译为机器指令保存起来,第二次执行就不用翻译了)
    3. RTSJ。继JAVAC之后执行AOT二次编译,生成静态的目标平台代码(典型的就是IBM WEBSHPERE REAL TIME)。

    展开全文
  • 编译语言解释语言的真正区别

    万次阅读 多人点赞 2018-10-20 13:02:00
    编译语言解释语言的真正区别 一、编译语言解释语言的必需知识点 二、Python和Java解释语言的主流执行方式 三、进而可推之解释语言编译语言的优缺点 一、编译语言解释语言的必需知识点...

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

    一、编译型语言与解释型语言的必需知识点

    二、Python和Java解释型语言的主流执行方式

    三、进而可推之解释性语言和编译型语言的优缺点


    一、编译型语言与解释型语言的必需知识点

    解释性语言和编译型语言
     解释性语言编译型语言
    概念计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
    特征解释性语言是指它常用的执行机制是使用一个“解释器”来执行,解释器对于程序是一句一句“翻译”成机器语言来一句一句执行,例如shell脚本语言。编译型语言是指它常用的执行机制是使用一个“编译器”来编译成机器语言,然后你就可以直接运行(执行)这个编译成的“可执行文件”。例如C语言你也可以为解释性语言(如shell脚本语言)写个编译器来编译,这样它就成了“编译语言”
    区别不管是解释性语言还是编译型都可编译或解释,前提是有这样的编译器或解释器(比如你自己写一个),找不到这样的编译器你当然不能编译对于语言本身来说,各种编程语言本质没什么不同。所谓的“解释性”和“编译”指的是执行机制上的不同。

    二、Python和Java解释型语言的主流执行方式:

    不管是啥语言,都是要转换成计算机能识别出来的语言。

    三、进而可推之解释性语言和编译型语言的优缺点

    编译型语言:

    1. 编译型语言最大的优势之一就是其执行速度。用C/C++编写的程序运行速度要比用Java编写的相同程序快30%-70%。
    2. 编译型程序比解释型程序消耗的内存更少。
    3. 不利的一面——编译器比解释器要难写得多。
    4. 编译器在调试程序时提供不了多少帮助——有多少次在你的C语言代码中遇到一个“空指针异常”时,需要花费好几个小时来明确错误到底在代码中的什么位置。
    5. 可执行的编译型代码要比相同的解释型代码大许多。例如,C/C++的.exe文件要比同样功能的Java的.class文件大很多。
    6. 编译型程序是面向特定平台的因而是平台依赖的。
    7. 编译型程序不支持代码中实现安全性——例如,一个编译型的程序可以访问内存的任何区域,并且可以对你的PC做它想做的任何事情(大部分病毒是使用编译型语言编写的)
    8. 由于松散的安全性和平台依赖性,编译型语言不太适合开发因特网或者基于Web的应用。

    解释型语言:

    1. 解释型语言提供了极佳的调试支持。一名Java程序员只需要几分钟就可以定位并修复一个“空指针异常”,因为Java运行环境不仅指明了异常的性质,而且给出了异常发生位置具体的行号和函数调用顺序(著名的堆栈跟踪信息)。这样的便利是编译型语言所无法提供的。
    2. 另一个优势是解释器比编译器容易实现
    3. 解释型语言最大的优势之一是其平台独立性
    4. 解释型语言也可以保证高度的安全性——这是互联网应用迫切需要的
    5. 中间语言代码的大小比编译型可执行代码小很多
    6. 平台独立性,以及严密的安全性是使解释型语言成为适合互联网和Web应用的理想语言的2个最重要的因素。
    7. 解释型语言存在一些严重的缺点。解释型应用占用更多的内存和CPU资源。这是由于,为了运行解释型语言编写的程序,相关的解释器必须首先运行。解释器是复杂的,智能的,大量消耗资源的程序并且它们会占用很多CPU周期和内存。
    8. 由于解释型应用的decode-fetch-execute(解码-抓取-执行)的周期,它们比编译型程序慢很多。
    9. 解释器也会做很多代码优化,运行时安全性检查;这些额外的步骤占用了更多的资源并进一步降低了应用的运行速度。
    展开全文
  • 编译语言解释语言区别

    千次阅读 2016-05-19 14:53:11
    计算机高级语言按程序的执行方式可以分为:编译性和解释性两种 编译语言编译性的语言指使用专门的编译器、针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成该平台硬件执行的机器码(包括机器指令和...
  • 编译语言解释语言、脚本语言区别

    千次阅读 多人点赞 2016-04-11 10:11:28
    把高级语言翻译成机器语言的两种方式:一种是编译,一种是解释。两种方式只是翻译的时间不通。1.编译编译语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行...
  • 编译型和解释型的区别 先来看看编译语言定义: 编译语言首先是将源代码编译生成机器指令,再由机器运行机器码 (二进制)。 再来看看解释语言的定义: 解释语言的源代码不是直接翻译成机器指令,而是...
  • 解释语言和编译语言区别

    千次阅读 2010-10-27 11:16:00
    解释语言和编译语言区别在于解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态解释和执行;解释语言编写的程序有时被称为脚本,一般是读者可以直接阅读的代码。解释器通过读取脚本,对它解释,...
  • 解释语言编译语言区别

    万次阅读 多人点赞 2013-11-24 17:58:28
    解释语言编译语言区别 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级...
  • 编译语言解释语言和脚本语言 编译语言解释语言和脚本语言
  • 编译语言解释语言区别及各自的优缺点

    万次阅读 多人点赞 2017-04-18 15:19:21
    解释语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译语言,而Java,C#等都是解释语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是...
  • 概念区别编译语言解释语言、动态类型语言与静态类型语言、强类型语言与弱类型语言】 文章目录一、编译语言解释语言二、动态类型语言与静态类型语言三、强类型语言与弱类型语言总结 一、编译语言与...
  • 编译语言在程序执行...解释语言,是在运行的时候将程序翻译成机器语言,虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行...
  • 解释语言编译语言区别

    千次阅读 2017-08-29 11:31:50
    解释语言编译语言区别 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。两种...
  • 而这些语言根据运行的方式不同,大体分为两种:编译语言解释语言。 其中,编译语言包括C\C++、Pascal、Go等。这里说的编译是指在应用源程序执行之前,就将程序源代码编译成汇编语言,然后进一步根据软硬件...
  • 编译语言解释语言 1、编译语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块...
  • 编译语言解释语言的优缺点对比

    千次阅读 2012-06-13 22:20:55
    编译语言需要编译一次,运行直接执行、不需要翻译,所以编译型语言的程序执行效率高。而解释语言则不同,解释型语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释型basic语言,专门有...
  • 编译语言解释语言  计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算 机才能运行高级语言编写的程序。  一、编译...
  • 编译语言解释语言

    千次阅读 多人点赞 2015-08-04 09:29:00
    常见的编译语言解释语言解释语言:Java、Python、Perl、C#、JavaScript、VBScript、Ruby、MATLAB等。 编译语言:C/C++、Pascal/Object Pascal(Delphi)等。计算机不能直接理解高级语言,只能直接理解...
  • 解释型语言与编译语言区别

    千次阅读 2011-04-15 13:42:00
       解释语言的程序不需要编译,省了道工序,解释语言在运行程序的时候才翻译,比如解释性basic/Java语言,专门有一 个解释器能够直接执行basic/Java程序,每个语句都是执行的时候才翻译。...
  • 什么是编译语言解释语言

    万次阅读 多人点赞 2018-08-01 21:42:16
    什么是编译语言解释语言 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。 ...
  • 编译语言解释语言区别

    千次阅读 2015-11-10 10:33:32
    那么这种将代码转换为机器码的方式就分为编译型和解释型这两类,两者方式只是在翻译的时间不同。 其次,看看两者的概念:  编译语言,写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言
  • 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能值型高级语言编写的程序。 翻译的方式有两种,一...解释则不同,解释语言的程序不需要编译,省了道工序,解
  • 编译语言解释语言和脚本语言
  • 编译语言&解释语言

    千次阅读 2016-04-22 11:46:33
    任何编程语言编写的程序归根到底都是由底层机器的机器代码(01序列)执行的,无论是编译语言还是解释语言。而任何高级编程语言程序的源代码都是一个字符序列,这个字符序列到底层的01序列是通过编译器或解析器...
  • 编译语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译为机器语言的文件比如exe文件,以后要运行就不需要重新编译了,直接使用编译好的结果(exe文件)就好了,编译语言的程序执行效率高。...
  • 解释语言编译语言

    万次阅读 2019-06-22 16:04:52
    解释语言编译语言 编程语言从执行原理上可分为编译语言解释语言。 比如常见的C语言、C++等都是编译语言 Java、Python等都是解释语言 计算机不能直接理解机器语言以外的语言,因此需要将我们写的代码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,020,998
精华内容 408,399
关键字:

编译语言区别解释语言