精华内容
下载资源
问答
  • 典型的解释型语言
    2017-09-17 22:28:28
          解释型语言是相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。比如Python/JavaScript / Perl /Shell等都是解释型语言。

          解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程 序,每个语句都是执行的时候才翻译。(在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低,依赖解释器,跨 平台性好.)


    与编译型语言的区别

         计算机不能直接理解高级语言,只能直接理解 机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
         一个是编译,一个是解释。两种方式只是翻译的时间不同。 编译型语言写的程序执行之前,需要一个专门的编译过程,把 程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的 解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
         解释则不同, 解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是一句一句的翻译。

    两者的利弊
         前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、 数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些 网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用 解释性语言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
         但随着硬件的升级和 设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得 编译器厂商愿意花费更多成本来优化 解释器,解释型语言性能超过 编译型语言也是必然的。

    解释器又是什么东西呢?
         解释器又是相对于编译器的存在。解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法。

        Python、TCL和各种Shell程序一般而言是使用解释器执行的。微软公司的Qbasic语言也是解释方式,它不能生成可执行程序(但QuickBasic和VisualBasic可以);运用广泛的网络编程语言java则同时有解释和编译方式。




    更多相关内容
  • JavaScript是解释型语言--V8、JIT

    千次阅读 多人点赞 2021-05-25 20:11:49
    编程语言 可以通过”语言“来控制计算机,让计算机为我们做事情。(类似于中文、英文) 编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守...

    编程语言

    可以通过”语言“来控制计算机,让计算机为我们做事情。(类似于中文、英文)

    编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。

    编程语言的发展大概经历了以下几个阶段: 汇编语言 ==> 面向过程编程 ==> 面向对象编程

    • 汇编语言是编程语言的拓荒年代,它非常底层,直接和计算机硬件打交道,开发效率低,学习成本高;
    • C语言是面向过程的编程语言,已经脱离了计算机硬件,可以设计中等规模的程序了;
    • Java、C++、Python、C#、PHP 等是面向对象的编程语言,它们在面向过程的基础上又增加了很多概念。

    在这里插入图片描述

    编程语言的从执行原理上分为两类:解释型语言和编译型语言

    计算机不能直接理解机器语言以外的语言,因此需要将我们写的代码编译成机器语言,然后再交给计算机去执行。

    编译型语言

    程序在执行之前需要一个专门的编译过程,把程序编译为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。

    解释型语言

    程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。如 Python、Shell、JavaScript 等。

    Java 语言

    编译器(javac)把源代码转化为字节码,然后解释器(Java.exe)把字节码转换为计算机理解的机器码来执行。其中编译器和解释器都是 Java 虚拟机(JVM)的一部分,由于针对不同的硬件与OS,Java 解释器有所不同,因此可以实现“一次编译、到处执行”。所以 JVM 是Java 跨平台特性的关键所在 – 引入 JVM 后,Java 语言在不同平台上运行时不再需要重新编译。

    对于前端开发同学使用的 JavaScript 语言,属于典型的解释型语言

    JavaScript

    JavaScript 作为编程语言的一种,直接输送给计算机(CPU)是不认识的(上面有提及),需要将其转换为指令集。不同类型的 CPU 的指令集是不一样的。JavaScirpt 引擎可以将 JavaScript 代码编译为不同 CPU(Intel, ARM 以及 MIPS 等)对应的机器码,同时引擎还可以执行代码、分配内存以及垃圾回收等。

    Google V8 是开源高性能 JavaScript 和 WebAssembly 引擎,被用于 Chrome 和 Node.js 等。其中包括重要的四个模块:

    1. Parser:将 JavaScript 源码转换为 Abstract Syntax Tree (AST);
    2. Ignition:解释器,将 AST 转换为 Bytecode,解释执行 Bytecode;同时收集 TurboFan 优化编译所需的信息,比如函数参数的类型;
    3. TurboFan:编译器,利用Ignitio所收集的类型信息,将Bytecode转换为优化的汇编代码(计算机可识别);
    4. Orinoco:垃圾回收,负责将程序不再需要的内存空间回收。

    整个转换过程:JavaScript ==> AST ==> Bytecode ==> Machine Code

    关于 v8 引擎是如何工作的,可以看 这篇文章

    V8 出现之前,所有的 JavaScript 虚拟机所采用的都是解释执行的方式,这是 JavaScript 执行速度过慢的主要原因之一。而 V8 率先引入了即时编译(JIT)双轮驱动的设计(混合使用编译器和解释器的技术),这是一种权衡策略,给 JavaScript 的执行速度带来了极大的提升。

    绝大多数编译器以预先编译(AOT)或实时编译(JIT)形式工作。

    • 使用命令行或者集成开发环境(IDE)调用预先编译(AOT)的编译器,如 gcc
    • 实时编译器通常是用来提高性能的,令你没有感知的,如 V8

    即时编译 JIT(Just-in-time)

    解释器的工作方式:边解释,边执行。 对于循环等会存在解释多次的情况。从而导致运行速度变慢。

    for (let i = 0; i < len; i++) {
      doSomething(i)
    }
    

    整体来说,为了解决解释器的低效问题,后来的浏览器把编译器也引入进来,形成混合模式。最终,结合了解释器和编译器的两者优点。

    They added a new part to the JavaScript engine, called a monitor (aka a profiler). That monitor watches the code as it runs, and makes a note of how many times it is run and what types are used.

    关于 JIT 的原理,大部分来自 这篇文章,英文好的同学可自行跳转查阅。

    基本思想: 在 JavaScript 引擎中增加一个监视器(也叫分析器)。监视器(monitor)监控着代码的运行情况,记录代码一共运行了多少次、如何运行的等信息。后续遇到相同代码时,跳过解释,直接执行。

    执行步骤

    第一步:Interpreter

    使用解释器执行,当某一行代码被执行了几次,这行代码会被打上 Warm 的标签;当某一行代码被执行了很多次,这行代码会被打上 Hot 的标签

    第二步:Baseline compiler

    被打上 Warm 标签的代码会被传给 Baseline Compiler 编译且储存,同时按照行数 (Line number)变量类型 (Variable type) 被索引。当发现执行的代码命中索引,会直接取出编译后的代码给浏览器执行,从而不需要重复编译已经编译过的代码。

    第三步:Optimizing compiler

    被打上 Hot 标签的代码会被传给 Optimizing compiler,这里会对这部分带码做更优化的编译(类型假设)。在执行前会做类型检查,看是假设是否成立,如果不成立执行就会被打回 interpreter 或者 baseline compiler 的版本,这个操作叫做 “去优化”。

    JIT 会增加多余的开销:

    • 优化和去优化开销
    • 监视器记录信息对内存的开销
    • 发生去优化情况时恢复信息的记录对内存的开销
    • 对基线版本和优化后版本记录的内存开销

    所以,整体来看是一个空间换时间的优化方案。当然,通过上述三个步骤,可得知,虽然 JavaScript 是弱类型语言,随意修改变量的类型会导致 JIT 编译效率下降(命中索引概率低)。

    说在后面

    对于整个解释型语言及现有的相关优化方式(JIT)了解之后,对于后续文章要提到的 esbuild 会有更好的理解。esbuild 也被称为下一代构建工具(使用 Go 语言编写,基于 ESM)。coming soon~~

    esbuild:An extremely fast JavaScript bundler
    Our current build tools for the web are 10-100x slower than they could be. The main goal of the esbuild bundler project is to bring about a new era of build tool performance, and create an easy-to-use modern bundler along the way.

    展开全文
  • Python语言是编译型语言还是解释型语言? 我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言 什么是编译型语言和解释型语言? Python是一种解释型语言 Python程序源码不需要编译,可以直接从源...

    Python语言是编译型语言还是解释型语言?

    我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言

    什么是编译型语言和解释型语言?

    Python是一种解释型语言

    Python程序源码不需要编译,可以直接从源代码运行程序。Python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行。

    下面用一张图来解释这个过程:

    在这里插入图片描述

    当我们运行Python文件的时候,Python解释器会执行两个步骤:

    1. 把源代码编译为字节码(以.pyc文件保存)

    2. 把编译好的字节码转发到PVM中加以执行

    这样,Python程序的执行过程就清楚了

    所以,Python是一种典型的解释型语言

    另一种解释型热门语言:Java

    展开全文
  • Python是一门解释型语言?初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是...

    最近被这个问题困扰良久,在网上看了很多博客,总结一下:

    1. Python是一门解释型语言?

    初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!那到底怎么回事?

    2.解释型语言和编译型语言

    计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。

    编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。

    解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。

    通过以上的例子,我们可以来总结一下解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。但是我们也不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上超过编译型语言。

    此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。

    用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。

    再换成C#,C#首先是通过编译器将C#文件编译成IL文件,然后在通过CLR将IL文件编译成机器文件。所以我们说C#是一门纯编译语言,但是C#是一门需要二次编译的语言。同理也可等效运用到基于.NET平台上的其他语言。

    3.Python到底是什么

    其实Python和Java/C#一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下Python程序的运行过程吧。

    当我们在命令行中输入python hello.py时,其实是激活了Python的“解释器”,告诉“解释器”:你要开始工作了。可是在“解释”之前,其实执行的第一项工作和Java一样,是编译。

    熟悉Java的同学可以想一下我们在命令行中如何执行一个Java的程序:

    javac hello.java

    java hello

    只是我们在用Eclipse之类的IDE时,将这两部给融合成了一部而已。其实Python也一样,当我们执行python hello.py时,他也一样执行了这么一个过程,所以我们应该这样来描述Python,Python是一门先编译后解释的语言。

    4.简述Python的运行过程

    在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。

    我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果,也就是字节码。

    当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

    当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

    所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式,即字节码,这点与JAVA是一样的。

    若想优化生成字节码,应注意这两点:.pyc文件是由.py文件经过编译后生成的字节码文件,其加载速度相对于之前的.py文件有所提高,而且还可以实现源码隐藏,以及一定程度上的反编译。比如,Python3.3编译生成的.pyc文件,Python3.4就别想着去运行啦!→_→

    .pyo文件也是优化(注意这两个字,便于后续的理解)编译后的程序(相比于.pyc文件更小),也可以提高加载速度。但对于嵌入式系统,它可将所需模块编译成.pyo文件以减少容量。

    5.运行一段Python程序

    我们来写一段程序实际运行一下:

    然而我们在程序中并没有看到pyc文件,仍然是test.py孤零零地呆在那!

    那么我们换一种写法,我们把print_str方法换到另外的一个python模块中:

    这个时候pyc文件出现了,其实认真思考一下不难得到原因,我们考虑一下实际的业务情况。

    6. pyc的目的是重用

    回想本文的第二段在解释编译型语言和解释型语言的优缺点时,我说编译型语言的优点在于,我们可以在程序运行时不用解释,而直接利用已经“翻译”过的文件。也就是说,我们之所以要把py文件编译成pyc文件,最大的优点在于我们在运行程序时,不需要重新对该模块进行重新的解释。

    所以,我们需要编译成pyc文件的应该是那些可以重用的模块,这于我们在设计软件类时是一样的目的。所以Python的解释器认为:只有import进来的模块,才是需要被重用的模块。

    我们可以这样理解Python解释器的意图,Python解释器只把我们可能重用到的模块持久化成pyc文件。

    7. pyc的过期时间

    说完了pyc文件,可能有人会想到,每次Python的解释器都把模块给持久化成了pyc文件,那么当我的模块发生了改变的时候,是不是都要手动地把以前的pyc文件remove掉呢?

    当然Python的设计者是不会犯这么白痴的错误的。而这个过程其实就取决于PyCodeObject是如何写入pyc文件中的。

    我们来看一下import过程的源码吧:

    不用仔细看代码,我们可以很清楚地看到原理,其实每次在载入之前都会先检查一下py文件和pyc文件保存的最后修改日期,如果不一致则重新生成一份pyc文件。

    模块在每次导入前总会检查其字节码文件的修改时间是否与自身的一致。若是则直接从该字节码文件读取内容,否则源模块重新导入,并在最后生成同名文件覆盖当前已有的字节码,从而完成内容的更新(详见import.py)。这样,就避免了修改源代码后与本地字节码文件产生冲突。

    8. 总结

    其实了解Python程序的执行过程对于大部分程序员,包括Python程序员来说意义都是不大的,那么真正有意义的是,我们可以从Python的解释器的做法上学到什么,我认为有这样的几点:

    A. 其实Python是否保存成pyc文件和我们在设计缓存系统时是一样的,我们可以仔细想想,到底什么是值得扔在缓存里的,什么是不值得扔在缓存里的。

    B. 在跑一个耗时的Python脚本时,我们如何能够稍微压榨一些程序的运行时间,就是将模块从主模块分开。(虽然往往这都不是瓶颈)

    C. 在设计一个软件系统时,重用和非重用的东西是不是也应该分开来对待,这是软件设计原则的重要部分。

    D. 在设计缓存系统(或者其他系统)时,我们如何来避免程序的过期,其实Python的解释器也为我们提供了一个特别常见而且有效的解决方案。

    Python是编译+解释型的语言,执行的时候是由Python解释器,逐行编译+解释,然后运行,因为在运行的过程中,需要编译+解释,所以Python的运行性能会低于编译型语言,比如C++。为了提高性能,Python解释器,会将模块(以后要重用的脚本文件放在模块里)的编译+解释的结果,保存在.pyc中。这样下次执行的时候,就省了编译这个环节。提高性能。一次性的脚本文件,解释器是不会保存编译+解释的结果,也就是没有.pyc文件。

    转载:Python什么情况下会生成pyc文件?​www.zhihu.comzhihu-card-default.svghttps://www.cnblogs.com/kym/archive/2012/05/14/2498728.html​www.cnblogs.comPython程序的执行过程解释型语言和编译型语言_lujiandong1的专栏-CSDN博客_python源程序执行的方式边编译边执行​blog.csdn.netv2-2a5027b5bff83f50a189c6146b4f7548_ipico.jpg

    再附一点对Java的解释:

    为什么说Java的既是编译型又是解释型?

    首先我们知道,在我们写完的Java代码的时候,生成出来的文件是的.java文件,这是Java的所特有的文件格式。看到这里你是不是在想那Java的就是解释型语言了。

    JVM执行的.class文件的时候的确是一行一行边解释边执行下去的。但是,JVM使用了一种技术叫做JIT技术。眼熟是不是?

    现在的JVM为了效率,都有一些JIT优化。它又会把的的.class的二进制代码编译为本地的代码直接运行。这种本地的代码又可以直接被系统运行。所以,它又是编译型的。这就是原因了。

    展开全文
  • 解释型语言 ||按照客观系统的描述可分为两类:1.面向过程语言; 2.面向对象语言 ||按照编程范型可分为:1.命令式语言; 2.函数式语言; 3.逻辑式语言; 4.面向对象语言) 三种语言的优缺点: 机器语言: 缺点:可读性...
  • 与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。在 Python 中,源代码会被编译为更低级的一种形式,我们...
  • Python程序的执行过程(解释型语言和编译型语言)

    万次阅读 多人点赞 2018-03-30 11:41:10
    Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的.pyc文件的是什么呢?c应该是...
  • 1、什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就干什么。我们需要通过计算机的语言来控制计算机,所谓计算机的语言就是编程语言。 计算机语言其实和人类的语言没有本质的区别,不同...
  • 最近各大互联网公司线上笔试,编程题目里的编译器...学习的过程中,看到这样一个争论“Java、Python谁是编译型语言,谁是解释性语言?”。我在网上查了很多资料,也结合了自己的理解,下面与大家分享一下。 总的来说...
  • 解释型语言特性

    千次阅读 2016-03-08 15:56:53
    高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可 将它们分为两类:  1.解释类:执行方式类似于我们日常生活中的“同声...以动态地调整、修改应用程序,典型解释型的高级语言有BAS
  • 计算机编程语言的分类: 机器语言(二进制代码) 汇编语言(面向机器的程序设计语言) ...解释型语言 ||按照客观系统的描述可分为两类:1.面向过程语言; 2.面向对象语言 ||按照编程范型可分为:1.命令...
  • 引言:计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。...2、解释型语言:没有这个编译的过程,而是在程序运行...
  • 如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清。2. 解释型语言和编译型...
  • 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。...解释型语言就没有这个编译的过程,而是在程序运行
  • ? 1、我们都知道一个程序的运行过程主要分为三个步骤:编译-&gt;链接-&gt;执行; 2、什么是面向对象语言,这就不多说了;...Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言...
  • 与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。在 Python 中,源代码会被编译为更低级的一种形式,我们...
  • 编译型语言、解释型语言、脚本语言的区别

    万次阅读 多人点赞 2016-04-11 10:11:28
    1.编译编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一
  • 编译型语言和解释型语言区别

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

    万次阅读 多人点赞 2015-12-27 19:52:28
    一、编译型语言 定义:指用专用的编译器,针对特定的操作平台(操作系统)将某种高级语言源代码一次性翻译成可被硬件平台直接运行的二进制机器码(具有操作数,指令、及相应的格式),这个过程叫做编译;编译好的可...
  • python是解释型的强类型动态语言

    千次阅读 2021-03-31 11:42:41
    就算全世界都不珍惜你,自己也要学会珍惜自己 文章目录python是解释型的强类型动态语言一、 编译型or解释型编译型解释型(python属于解释型)二、强...因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行.
  • JAVA是解释型语言还是编译型语言

    千次阅读 2016-06-12 16:24:14
    JAVA是解释型语言还是编译型语言 Under J2SE | 三月 10th, 2010 1 comment   Java是解释型语言还是编译型语言 概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后...
  • 1 高级语言 汇编语言 机器语言机器语言是最原始的语言, 是由01代码构成的, cpu在工作的时候只认识机器语言, 即01代码汇编语言是一种低级语言, 他用人类容易记忆的语言和符号来表示一组01代码, 例如AND代表加法高级...
  • 编译型vs解释型 编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。 缺点:编译之后如果需要修改就需要...
  • python 解释型(函数写在调用前)java 编译型(请求次数多)+解释型(请求次数少)解释性语言定义:程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行...
  • 高级语言与低级语言 最低级的,是机器码。。。也就是1和0。。。而CPU所能识别并计算的,也只有1和0。。。因此无论你用什么语言编写程序,最终都会被转换成1和0。。。但中间需要被转换的次数,以及转换的复杂度,却...
  • python 解释型(函数写在调用前) java 编译型(请求次数多)+解释型(请求次数少) 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行...
  • 译型和解释型。  我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,207
精华内容 28,482
热门标签
关键字:

典型的解释型语言