精华内容
下载资源
问答
  • 什么是编译型语言和解释型语言 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,...由此高级语言也分为编译型语言和解释型语言。 编译型语言 使用专门的编译器,针对特定的平台,将高

    什么是编译型语言和解释型语言
    计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。

    这里写图片描述

    计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:

    编译

    解释

    由此高级语言也分为编译型语言和解释型语言。

    编译型语言
    使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

    特点
    在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。

    总结
    一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;

    与特定平台相关,一般无法移植到其他平台;

    现有的C、C++、Objective等都属于编译型语言。

    这里写图片描述

    解释型语言
    使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。

    特点
    解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

    总结
    解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;

    只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;

    Python等属于解释型语言。

    这里写图片描述

    展开全文
  • 讨论:Java 是编译型还是解释型语言? 回答1: 见知乎 郭无心 的回答: 有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。也有人说Java是解释型的。因为java代码编译后不能直接...

    讨论:Java 是编译型还是解释型语言?

    回答1: 见知乎 郭无心 的回答:

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

    对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。

    (1)Java语言的编译–>解释–>运行过程

    (2)JVM

    可以说Java是兼具编译型语言与解释型语言的特点的。

    回答2: Java的源代码首先被编译成字节码,然后依赖各种不同平台的虚拟机来解释执行字节码。

    回答3: 见知乎 路人 的回答

    先看下定义:

    编译型语言: 把做好的源程序全部编译成二进制代码的可运行程序,然后,可直接运行这个程序。
    解释型语言: 把做好的源程序翻译一句,然后执行一句,直至结束!

    Java它是首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言,也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。




    参考资料:

    展开全文
  • 编译型语言与解释型语言

    千次阅读 2011-08-15 14:11:40
    对程序来说,计算机需要一个"翻译",即把程序代码变成计算机可以理解的语言:0和1组成的包含信息的序列。目前存在两种翻译类型:一个是编译,一个是解释。两种方式都需
     
    


    对程序来说,计算机需要一个"翻译",即把程序代码变成计算机可以理解的语言:0和1组成的包含信息的序列。目前存在两种翻译类型:一个是编译,一个是解释。两种方式都需要对代码进行翻译,只是翻译的时间不同而已。
    编译型语言在计算机运行代码前,先把代码翻译成计算机可以理解的文件,比如EXE文件。这样说有些不太准确,实际上在生成EXE文件之前,还要做一个整合的操作,但这不是本节要关心的。这个EXE文件只需要经过一次编译就可以运行了,而且除非修改代码,否则都不需要重新编译。所以编译型语言的程序执行效率高。
    解释型语言则不同,解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。这样解释型语言每执行一次就要翻译一次,效率比较低。
    介绍这些知识,并不是为了比较两种类型的优劣,由于JavaScript属于解释型语言,这就表示每句代码只有在运行时,系统才知道这句代码是否有错。换句话说,由于编译型语言在运行前进行了编译,编译器对所有代码都进行了检查,这样就不会产生一些低级错误,例如使用了不存在的名字,或者使用了错误的名字。而JavaScript就可能会出现这些问题。

    也不是所有的语言都是这样的。
    问题:JAVA是解释型语言还是编译型语言( http://www.javabk.com/archieves/interdivting-compiling/

    概念:

    • 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
    • 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

     

    区别:

    • 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
    • 解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic.

     

    通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。

     java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。

    JIT:

    • 首先采用编译形式生成某种中介代码(Java bytecode/MSIL),然后在运行时将其(通常以函数或Block为单位)最终转换成机器码,然后执行,转化的机器码可以被cache,以提高重复执行的效率

    由以上可看出,java源码需要编译,但不是生成机器码,而是中间代码;运行的时候,是jvm对中间吗边解释,边运行的。

    网友关于java解释性和高性能的看法:

    解释性和高性能

    当运行Java程序时,它首先被编译成字节码,然后通过Java解释器直接对Java字节码进行解释执行。虽然这个过程是解释执行的,但是由于字节码的设计并不专门针对任何一种特定的机器,而是非常类似于机器指令的指令编码。因而通过Java的虚拟机就可以很容易的直接将字节码转换成对应于特定 CPU的机器码,从而得到较高的性能。这种转换的效率比其他解释性语言如Basic、Perl等要高得多,甚至在非常低档的CPU上也能顺利运行。不过 Java毕竟是解释性的语言,它解释执行的意义在于能够实现程序一经编译便可在众多不同的计算机上执行的跨平台运行。虽然这比C程序慢了许多,但在大多数应用中都是可以接受的。而且,现在Java也已经有了专门的代码生成器,可以很容易使用JIT编译技术将字节码直接转换成高性能的本机代码。值得一提的是,Java运行时系统在提供这个特性的同时仍具有平台独立性,因而“高效且跨平台”对Java来说不再矛盾。

    以下是百度上的解释:

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

      翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
      解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。
      编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
      但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。
    展开全文
  • 一、编译型语言   编译型语言,在程序执行之前,需要一个专门的编译链接过程,把程序编译成机器语言文件;比如,exe文件和bin文件。以后运行的话就不用重新编译了,直接使用编译的...  解释型语言的程序不需要编...

      计算机只能识别二进制的机器语言,但是二进制的机器语言对人类太不“友好”了,为了方便和计算机交流,人们发明了低级语言:“汇编语言”。汇编语言最接近机器语言,所以它的工作效率很高,同时汇编语言改进了“表达方式”,和人类的“友好程度”要优于机器语言。但是由于“出生问题”,汇编语言针对特定的硬件而有所不同,也就是不同公司生产的MCU使用的汇编语言有所不同,这就导致不同MCU之间移植程序很麻烦,为了便于程序在不同硬件之间移植方便,也为了更“友好的”和人类交互,人们发明了高级语言。高级语言可以分为以下几个种类:编译型语言、解释型语言、脚本语言、批处理文件。

    一、编译型语言

      编译型语言,在程序执行之前,需要一个专门的编译链接过程,把程序编译成机器语言文件;比如,exe文件和bin文件。以后运行的话就不用重新编译了,直接使用编译的结果就行了。因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高!
      常见的编译型语言有:C、C++、Pascal、Object Pascal和Delphi等。

    二、解释型语言

      解释型语言的程序不需要编译链接,省了道工序,解释性语言在运行程序的时候才“翻译”,专门有一个解释器能直接执行解释型程序,每个语句都是执行的时候才翻译。这样解释型语言运行程序时,每执行一次就要翻译一次,效率比较低,但是移植与跨平台比较好,只要有解释器,什么平台下都可以运行。
      常见的解释型语言有:HTML、Jave、C#、Perl、Ruby和MATLAB等 。

    三、脚本语言

      脚本语言(Script)也是一种解释型语言,又被称为扩建的语言,或者动态语言不需要编译,可以直接使用,由解释器来负责解释。脚本语言一般都是以文本形式存在,类似于一种命令。
      常见的脚本语言有:PHP 、Shell、Python、Makefile、Vbscript、Javascript、Installshield script和ActionScript等。

    脚本语言和编程语言比较
    1.脚本语言因为不需要编译器,省去了编译的过程,这就极大的减少了,开发的的时间,而编程语言,因为需要编译,所以可能需要的时间更加长一些,
    2.脚本语言是一种动态语言,也就是说可以实时的更改代码,而不需要将程序停止下来,这是一种高级特性,而Java等编程语言,是静态的语言,一旦编译完成并且运行,就不能更改代码,除非将程序停止下来,但是这样的代价是比较昂贵的。
    3.脚本语言非常容易学习,但是也造成了它的不足,就是不全面,缺乏系统性,语法比较散漫,而高级编程语言,虽然相对难学,但是规则强,可以编程出,简洁美观的代码,并且可读性也相对较强。
    4.一般来说脚本语言通用性较差,但是可以通过专门的应用来调整。
    5.随着技术的发展,其实脚本语言变得越来越强,和编程语言的界限也比较模糊,比如Python,可以将它视为编程语言了,因为它很强大。

    脚本语言分类
    1.工作控制语言和shell------他们可以控制系统的行为,和系统进行交互,大多数脚本语言其实也是命令行界面,比如Linux的shell界面。
    2.GUI脚本------用来控制计算机的图形界面,菜单,按钮等
    3.应用程序定制的脚本语言------许多应用程序都会定制自己的脚本语言,比如office中的宏语言,大型游戏中的惯用脚本语言
    4.WEB编程脚本-----其实WEB编程脚本就是应用程序定制的脚本语言,因为应用很广泛,所以单独提出来,比如,JavaScript,HTML等,他们的解释器就是浏览器
    5.文本处理语言:-------处理基于文本的记录,比如Unix中的awk,XSLT等
    6.通用动态语言,--------一种脚本语言发展成为了,一个中流行通用的编程语言,比如Python和Perl。
    7.扩展和可嵌入式语言:------少数语言被设计通过嵌入应用程序,来取代应用程序定制的脚本语言,应该是相当于插件吧。

      脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。
      脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。 脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。
      脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:exec(脚本文件名).cfg即可。比如将一个脚本存为 buys.cfg文件,则在控制台中输入:execbuys.cfg则可以实现我们所需要的功能。要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。 常见的脚本语言:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等

    四、批处理文件

      批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&;、&&;、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行、几十甚至几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。

    展开全文
  • 该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Python 基础教程Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言...
  • 该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Python 基础教程Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言...
  • 计算机编程语言的分类: 机器语言(二进制代码) 汇编语言(面向机器的程序设计语言) ...解释型语言 ||按照客观系统的描述可分为两类:1.面向过程语言; 2.面向对象语言 ||按照编程范型可分为:1.命令...
  • 1,解释型语言 2,编译型语言 计算机执行命令的过程图 翻译的过程程序员高级编程语言-汉语机器码-日语cpu可以识别-日本商家 翻译的情景 通过生活的实例,来理解翻译的过程 例如跨国购物 要去日本买大虾 比如我们会和...
  • 文章目录编译型语言特点总结解释型语言特点总结编译或解释不是语言的特性,而是实现的特性总结 高级语言都需要转成机器语言才能让计算机执行,转换的方法主要分为两种:解释和编译。 以下解释来源转载加补充: 引用...
  • 计算机编程语言:编译型与解释型区别 原文地址:https://blog.csdn.net/danpi1hao/article/details/64121610 计算机编程语言种类非常多,根据与计算机硬件的贴近程度和抽象程度大致可分为3类,自顶向下分别是 ...
  • 一、编译型与解释型语言 我们编写程序也就是源代码基本是用高级编程语言,比如JavaScript, java, c等等,这些语言计算机是不理解的,所以需要转化(翻译)成计算机理解的机器语言,或者说目标CPU的指令。 源代码====...
  • 编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。1、编译和解释的区别是什么?编译器是把源程序的每一条...
  • 语言的深入理解--编译型和解释型1 简介2 编译型和解释型2.1 编译型语言2.2 解释型语言3 解释器优化4 解释器的设计参考 1 简介 语言是工具,本质上就是用来交流的。 中文、英文、方言等是人类用来交流的, 猫语、鸟语...
  • 个人理解这种区别主要是类型检查(Type Check)发生的时机不同,即可以通过判断语言是在什么时候检查类型错误来判断其所属的类型。 静态类型: 编译时即知道每一个变量的类型,因此,若存在类型错误编译是无法通过...
  • 1高级语言和低级语言 2编译型和解释型 3动态语言和静态语言 4强类型定义语言和弱类型定义语言  在软考期间,学习了程序语言的翻译方式有多种:解释、和编译。那到底什么是解释和编译呢。另外编程语言除了编译型和...
  • 高级语言必须通过编译或者解释才能被计算机执行2、下列关于算法的描述,正确的是()A.算法所包含的步骤必须是无限的B.一个算法有零个或多个输入C.允许算法没有结果D.要根据具体算法选择程序设计语言3、下列关于程序...
  • Java语言是静态类型还是动态类型 是编译型还是解释型1. 静态类型和动态类型的区别个人理解这种区别主要是类型检查(Type Check)发生的时机不同,即可以通过判断语言是在什么时候检查类型错误来判断其所属的
  • 高级语言分为编译语言和解释型程序语言 编译型源程序: 编译器->编译型源程序->计算机(效率高)(C语言,c++) 解释型源程序: 解释器-> 机器代码->计算机(java,python) 现代解释型程序:编译器->...
  • 如果编程语言是一门武功绝学

    万次阅读 多人点赞 2021-05-22 16:30:06
    学习编程与武功绝学 武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,掌握了足够多的招式后,加之勤学苦练,量变引起质变,会有一天打开任督...汇编语言是计算机提供给用户的最快最有效的语言,也是能够..
  • 文章目录高级语宫及其语法描述(一)程序语言的定义(二)高级语言的一般特性1、高级语言的分类2、数据类型与操作 高级语宫及其语法描述 (一)程序语言的定义 编译程序要对程序进行正确的翻译,首先要对程序设计...
  • 解释语言

    2017-07-17 10:25:07
    以下内容转载或引用或参考 http://baike.baidu.com/item/%E8%A7%A3%E9%87%8A%E6%80%A7%E8%AF%AD%E8%A8%80 ...解释型语言,是在运行的时候将程序翻译成机器语言。...解释型语言的程序不需要在运行前编译
  • 其实人类语言也一样,眼花缭乱,纷繁复杂,但是我们总能找到作为一类语言的某些共性,计算机语言也一样,避其具体的语法不谈,计算机语言从划分的维度不同我们可以划分为:编译型还是解释型;动态的还是静态的;强...
  • 高级编程语言的发展历程

    千次阅读 2012-02-15 14:15:14
    以下内容转自:http://kb.cnblogs.com/page/130672/#c1 高级编程语言的发展历程 ...徐宥 发布时间: 2012-02-09 23:08 ... 高级编程语言的发展历程(三)FORTRAN 语言是怎么来的  高级编程
  • 不论什么编程语言编写的程序归根究竟都是由底层机器的机器代码(01序列)执行的,不管是编译型语言还是解释型语言。而不论什么高级编程语言程序的源码都是一个字符序列,这个字符序列究竟层的01序列是通过编译器或...
  • 计算机是不能理解高级语言,当然也就不能直接执行高级语言了。计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序。 一、翻译和解释的不同  翻译的方式有两...
  • 它们的区别在于语言的编译器程序编译源代码方式的不同 不同之处在于 简单来说,就是编译型语言是全部代码编译完毕后,才能执行程序,解释型语言是一边编译代码,一边执行程序。 详细来说, 编译型语言的编译器程序...
  • 脚本语言:21世纪的高级编程语言

    千次阅读 2007-05-08 14:21:00
    脚本语言:21世纪的高级编程语言 (这篇文章发表在IEEE计算机杂志1998年3月刊上) 摘要: Perl和Tcl等脚本语言代表一种与c或JavaTM为代表的系统程序设计语言完全不同的
  • Python是解释型脚本语言,支持面向对象,其代码主要强调可读性和简洁的语法,可以应用于以下领域,Web 和 Internet开发,科学计算和统计,人工智能,教育,桌面界面开发,软件开发,后端开发等。 JavaScript是解释型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,994
精华内容 19,997
关键字:

以下的高级语言是解释型语言