由来: 计算机底层只能识别(并执行)0、1序列的机器码,因此所有的语言要被计算机执行,
最终都要以某种方式被转换成能被计算机识别的0、1序列机器码。这个翻译过程按照
执行时间不同,分为编译型和解释型。
区别:
编译型语言:
a)程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件.
b)以后要运行的话就不用重新翻译,直接执行编译后的文件 .exe即可
c)翻译成机器码只做一次,运行时不需要翻译,导致程序执行效率高。
d)编译阶段即可发现常见的语法或者链接等错误,帮助程序员排查出可能潜在的语法、语义和类型转换错误。
e)生成的可执行文件,是相对与本机机器指令集的,如果移植到不同机器指令集的机器上,自然不能执行,即可移植性不好(非跨平台)
f)对机器和和跨平台性的要求不高,多用在开发操作系统、大型应用程序、数据库程序系统。
g)常见语言有: C/C++、Pascal/Object Pascal(Delphi)
解释型语言:
a)程序运行时由翻译器将高级语言代码翻译成易于执行的中间代码(不是机器码)
b)解释器(例如浏览器、虚拟机)逐一将该中间代码解释成机器码并执行
c)不生成可执行文件,每次运行都需要做一下转换工作,然后再执行,效率低
d)代码中的错误必须直到运行阶段方可发现.
e)依靠解释器(eg:jvm)的功劳,最终生成的机器码会适配当前机器指令集,因此移植性好(跨平台)
f)对机器有一定的配置要求,如果内存较小,运行程序每次都需要使用解释器解释执行必然耗费资源过多。 多用在服务器脚本及辅助开发接口等需要一定跨平台兼容性的程序。
g)常见语言有: Java、JavaScript、VBScript、Perl、Python、Ruby
后记:
随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能会超过编译型语言的趋势也会日渐明显
相关推荐
编译性语言、解释性语言和脚本语言 编译性语言、解释性语言和脚本语言
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。 Python解释器易于扩展,可以使用...
是有关于编译执行和解释执行的区别,适用于想了解这两种编译方式的区别的同学看一下
对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型...
编译原理——常见名词解释,包括编译原理课程每一章节重要名词和常见名词的介绍和解释。 例如:编译程序是一种程序,它把高级语言编写的源程序翻译成与之在逻辑上等价的机器语言或汇编语言的目标程序。 一个高级语言...
Python7天速成
编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来 将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。 解释型编译程序将高级语言程序的一个语句,先解释成为一组机器...
LabVIEW 是编译型语言还是解释型语言
软件工程专业必修课程编译原理课程解释器构造Java源码
NULL 博文链接:https://huigou.iteye.com/blog/1167587
Los是一个c/c 语言编译型的虚拟机。它使用llvm/clang作为其前端,losld做后端对源代码进行编译,生成los指令文件。
CMM语言解释器,java语言编写,支持c语言的基本操作,包含源代码和成品,学习编译原理的可以参考一下
40.LabVIEW 是编译型语言还是解释型语言.doc
文法和语言在编译原理中的详细介绍,更加深刻的了解文法和语言在编译原理学中的详细知识
编译原理
编译原理2文法和形式语言 编译原理2文法和形式语言 编译原理2文法和形式语言 编译原理2文法和形式语言 编译原理2文法和形式语言
R语言编译包
编译原理作业_绘图语言解释编译器(含报告)
Python语言通常被看作是解释型语言,不同于像C语言那样的编译型。但实际上,如果说Python是编译型语言,也未尝不可。我们来一起看一下1! 1.举个栗子 首先看一个简单的例子: #!/usr/bin/python3 # file name :demo...