解释型语言_解释型语言有哪些 - CSDN
精华内容
参与话题
  • 解释型语言和编译型语言的区别

    万次阅读 多人点赞 2017-02-23 09:42:15
    解释型语言和编译型语言的区别 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级...

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

    首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。
         说到翻译,其实翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
         用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高级语言翻译成机器语言(具体翻译过程可以参看下图),把源高级程序编译成为机器语言文件,比如windows下的exe文件。以后就可以直接运行而不需要编译了,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
       
        一个完整的编译系统与 一个用C编写的程序hello.c的编译过程 
          解释则不同,解释型语言编写的程序不需要编译。解释型语言在运行的时候才翻译,比如VB语言,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低。
         编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
         但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。
          说到这里,我们有必要说一下java与C#。解释型语言和编译型语言的区别
          JAVA语言是一种编译型-解释型语言,同时具备编译特性和解释特性(其实,确切的说java就是解释型语言,其所谓的编译过程只是将.java文件编程成平台无关的字节码.class文件,并不是向C一样编译成可执行的机器语言,在此请读者注意Java中所谓的“编译”和传统的“编译”的区别)。作为编译型语言,JAVA程序要被统一编译成字节码文件——文件后缀是class。此种文件在java中又称为类文件。java类文件不能再计算机上直接执行,它需要被java虚拟机翻译成本地的机器码后才能执行,而java虚拟机的翻译过程则是解释性的。java字节码文件首先被加载到计算机内存中,然后读出一条指令,翻译一条指令,执行一条指令,该过程被称为java语言的解释执行,是由java虚拟机完成的。而在现实中,java开发工具JDK提供了两个很重要的命令来完成上面的编译和解释(翻译)过程。两个命令分别是java.exe和javac.exe,前者加载java类文件,并逐步对字节码文件进行编译,而另一个命令则对应了java语言的解释(javac.exe)过程。在次序上,java语言是要先进行编译的过程,接着解释执行。
       C#语言是编译型语言,但其“编译”过程比较特殊,具体说明如下:
       C#程序在第一次运行的时候,会依赖其.NET Frameworker平台,编译成IL中间码),然后由JIT compiler翻译成本地的机器码执行。从第二次在运行相同的程序,则不需要再执行以上编译和翻译过程,而是直接运行第一次翻译成的机器码。所以对于C#来说,通常第一次运行时间会很长,但从第二次开始,程序的执行时间会快很多。
       那么,C#为什么要进行两次“编译”呢?其实,微软想通过动态编译(由JIT compiler工具实现)来实现其程序运行的最优化。如果代码在运行前进行动态编译运行,那么JIT compiler可以很智能的根据你本地机器的硬件条件来进行优化,比如使用更好的register,机器指令等等,而不是像原来那样,build一份程序针对所有硬件的机器跑,没有充分利用各个机器的条件。
       另外,还有我们经常用到的脚本语言,比如JavaScript、Shell等语言都是脚本语言,本质上来说,脚本语言就是解释型语言。
       对于以上内容,如果有什么地方说的不妥的,敬请指出!
         
    展开全文
  • 解释型语言

    2019-08-01 09:29:28
    有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不...Basic/Python/JavaScript / Perl /Shell等都是解释型语言解释型语言(英语:Interpreted language),是一种编程语言。这种类型的编程语言,会...

    有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。

    Basic/Python/JavaScript / Perl /Shell等都是解释型语言。

    解释型语言(英语:Interpreted language),是一种编程语言。这种类型的编程语言,会将代码一句一句直接运行,不需要像编译语言(Compiled language)一样,经过编译器先行编译为机器代码,之后再运行。这种编程语言需要利用解释器,在运行期,动态将代码逐句解释(interpret)为机器代码,或是已经预先编译为机器代码的的子程序,之后再运行。
    ——维基百科

    特点:
    非独立:需要依赖解释器
    效率低:边解释边执行。解释器每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它不会一次把整个程序翻译出来,而是每翻译一行程序叙述就立刻运行,然后再翻译下一行,再运行,如此不停地进行下去。(而编译型语言被编译器一次性将所有源代码翻译成另一种机器语言,运行时无需再依赖编译器,因此运行速度比较快。)
    跨平台兼容性好(编译型语言进行移植后要重新编译)

    展开全文
  • 解释型语言的特点

    千次阅读 2017-01-29 00:16:48
    解释型语言:不需要编译,程序在运行的时候才翻译成机器语言,执行一次翻译一次。 特点: 一. 效率低 每执行一次都要进行翻译。 二. 非独立性(依赖解释器) 三. 跨平台性好 编译型语言进行移植后要重新...

    计算机不能直接理解高级语言,必须把高级语言翻译成机器语言才能执行高级语言编写的程序。

    翻译的方式有两种:编译,解释  (两者只是翻译的时间不同)

    解释型语言:不需要编译,程序在运行的时候才翻译成机器语言,执行一次翻译一次。

    特点:

    一. 效率低

    每执行一次都要进行翻译。

    二. 非独立性(依赖解释器)

    三. 跨平台性好
    编译型语言进行移植后要重新编译,相对而言解释型语言跨平台较容易。


    同等条件下,编译型语言对系统的条件要求比较低,像开发操作系统,大型应用程序,数据库系统,则用编译型语言。

    对不同平台兼容性有一定要求的程序通常使用解释型语言。


    展开全文
  • 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译...

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

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

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

    • 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
      在运行的时候,由JVM将字节码再翻译成机器语言。

    • C/C++编译、链接后,可形成独立执行的exe文件。

    脚本语言

    脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。

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

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

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

    举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.

    你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应。那么,这一套规则就是脚本语言。

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

    首先,我们编程都是用的高级语言,计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。

    说到翻译,其实翻译的方式有两种,一个是编译,一个是链接。两种方式只是翻译的时间不同。

    • 用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统把高级语言翻译成机器语言,把源高级程序编译成为机器语言文件,比如windows下的exe文件。以后就可以直接运行而不需要编译了,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。

    • 解释型语言编写的程序不需要编译。解释型语言在运行的时候才翻译,比如VB语言,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低。

    编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。

    java与C

    • JAVA语言是一种编译型-解释型语言,同时具备编译特性和解释特性

    其实,确切的说java就是解释型语言,其所谓的编译过程只是将.java文件编程成平台无关的字节码.class文件,并不是向C一样编译成可执行的机器语言,在此请读者注意Java中所谓的“编译”和传统的“编译”的区别)。

    作为编译型语言,JAVA程序要被统一编译成字节码文件——文件后缀是class。此种文件在java中又称为类文件。java类文件不能再计算机上直接执行,它需要被java虚拟机翻译成本地的机器码后才能执行,而java虚拟机的翻译过程则是解释性的。java字节码文件首先被加载到计算机内存中,然后读出一条指令,翻译一条指令,执行一条指令,该过程被称为java语言的解释执行,是由java虚拟机完成的。

    而在现实中,java开发工具JDK提供了两个很重要的命令来完成上面的编译和解释(翻译)过程。两个命令分别是javac.exe和java.exe,前者加载java类文件,并逐步对字节码文件进行编译,而另一个命令则对应了java语言的解释(javac.exe)过程。在次序上,java语言是要先进行编译的过程,接着解释执行。

    • C#语言是编译型语言,但其“编译”过程比较特殊

    C#程序在第一次运行的时候,会依赖其.NET Frameworker平台,编译成IL中间码),然后由JIT compiler翻译成本地的机器码执行。从第二次在运行相同的程序,则不需要再执行以上编译和翻译过程,而是直接运行第一次翻译成的机器码。所以对于C#来说,通常第一次运行时间会很长,但从第二次开始,程序的执行时间会快很多。

    那么,C#为什么要进行两次“编译”呢?其实,微软想通过动态编译(由JIT compiler工具实现)来实现其程序运行的最优化。如果代码在运行前进行动态编译运行,那么JIT compiler可以很智能的根据你本地机器的硬件条件来进行优化,比如使用更好的register,机器指令等等,而不是像原来那样,build一份程序针对所有硬件的机器跑,没有充分利用各个机器的条件。

    另外,还有我们经常用到的脚本语言,比如JavaScript、Shell等语言都是脚本语言,本质上来说,脚本语言就是解释型语言。

    展开全文
  • 而这些语言根据运行的方式不同,大体分为两种:编译型语言和解释型语言。 其中,编译型语言包括C\C++、Pascal、Go等。这里说的编译是指在应用源程序执行之前,就将程序源代码编译成汇编语言,然后进一步根据软硬件...
  • 编译型语言与解释型语言的区别及各自的优缺点

    万次阅读 多人点赞 2017-04-18 15:19:21
    解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是...
  • python解释型语言的说明

    千次阅读 2018-04-22 00:53:16
    为什么称python为解释型语言?为什么python相比C执行会慢?什么是解释型语言?Python 是怎么实现动态类型的呢?从小白的角度来解释这些问题。首先,大部分语言为编译型或解释型,如C/C++等为编译型,python为解释型...
  • 什么是编译型语言和解释型语言

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

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

    万次阅读 多人点赞 2020-02-05 09:28:23
    Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的.pyc文件的是什么呢?c应该是...
  • 什么是编译型,什么是解释性,JSP,ASP都属于解释性语言 ... 编译型 = 先把程序整个转化为可直接运行的格式 ...JSP 和ASP是解释的,java是jvm解释执行的,虽然有JIT,但还是不能算...编译型语言和解释型语言 http:
  • (1)解析器(parser):前者是编译器/解释器的重要组成部分,也可以用在IDE之类的地方;其主要作用是进行语法分析,提取出句子的结构。广义来说输入一般是程序的源码,输出一般是语法树(syntax tree,也叫parse ...
  • JAVA是解释型语言还是编译型语言

    万次阅读 2012-08-30 12:20:00
    JAVA是解释型语言还是编译型语言 Under J2SE | 三月 10th, 2010 1 comment   JAVA是解释型语言还是编译型语言 概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接...
  • 编译型语言与解释型语言的真正区别

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

    千次阅读 2015-04-02 18:48:51
    (2)解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。 三:疑问 解释型语言就是编译成中间代码程序,在执行时靠翻译程序一起执行,可以跨平台,中间代码一样,翻译程序只要各...
  • 1 编译型语言和解释型语言的含义  大家都知道,代码语言级别主要有机器语言、汇编语言、和高级语言。而高级语言主要又分为编译型语言和解释型语言,下面我们主要讨论这两种语言的含义。  编译型语言指使用专门的...
  • 1、C++和C都是属于编译型语言,本来的.c文件都是用高级语言编写的,计算机是不能识别高级语言的,所以,必须要通过编译,链接等手段,将.c文件转换成可执行文件,可执行文件就是纯二进制文件,然后计算机才能够执行...
  • 编译型语言与解释型语言的优缺点

    千次阅读 2019-03-09 15:21:48
    解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是...
  • 动态语言是在运行时才确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP、ASP、Python、SQL、JavaScript、Unix Shell等等。 动态语言的优势:思维不受束缚,可以...
  • 编译型语言、解释型语言与脚本语言三大类型详解

    万次阅读 多人点赞 2016-01-22 09:54:53
    一、编译型语言 定义:指用专用的编译器,针对特定的操作平台(操作系统)将某种高级语言源代码一次性翻译成可被硬件平台直接运行的二进制机器码(具有操作数,指令、及相应的格式),这个过程叫做编译;编译好的可...
1 2 3 4 5 ... 20
收藏数 249,662
精华内容 99,864
关键字:

解释型语言