编译型和解释型
A. 从性能上说,编译型语言好还是解释型语言好
从性能上考虑,编译型语言通常会比解释型语言要快一些。这是因为在编译型语言中,程序在编译时就已经被转化成了机器语言,在运行时直接执行机器语言,而不需要再进行解释。而解释型语言则需要在运行时解释代码,所以会比较慢一些。
但是,这并不意味着解释型语言就完全没有优势。在某些情况下,解释型语言也有自己的优势。例如,解释型语言的开发速度通常要快于编译型语言,因为它不需要进行编译,可以直接运行代码。此外,解释型语言也更加灵活,可以在运行时动态修改代码,这对于调试和测试程序非常有帮助。
B. 解释型语言和编译型语言的区别是什么
解释型语言和编译型语言的区别是在于翻译的时间点不同。编译型语言是在代码执行之前进行编译,生成中间代码文件。解释型语言是在运行时进行及时解释,并立即执行,当编译器以解释方式运行的时候,也称之为解释器。
计算机不能理解除任何机器语言之外的语言,所以必须把程序员所写的代码翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
解释型语言的特性
解释型语言效率低,每执行一次都要进行翻译。非独立性,跨平台性好编译型语言进行移植后要重新编译,相对而言解释型语言跨平台较容易。
同等条件下,编译型语言对系统的条件要求比较低,像开发操作系统,大型应用程序,数据库系统,则用编译型语言。对不同平台兼容性有一定要求的程序通常使用解释型语言。
C. 解释性语言和编译型语言的区别与不同
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可
将它们分为两类:
1.解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由
相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不
能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可
以动态地调整、修改应用程序,典型的解释型的高级语言有BASIC。
2.编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码
(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才
能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型
的,例如Visual C++、Delphi等。
高级语言里一个程序的编译和执行大概是 下面的情况:
编译器将高级语言从源代码翻译成与之等价的目标程序(就相当于从中文翻译成中文),而后就隐退了。在随后的某个时刻,
用户启动目标程序由操作系统执行。实现高级语言的另外一种方式为解释:
与编译不同的是,解释器在目标程序(其实根本就没有目标程序,只是与编译来对比)执行期间,解释器一直随之运行
。这种执行过程完全由解释器控制的。从效果上看,解释器实现了一台“虚拟计算机”,其“机器语言”就是高级语言,解释器一次读入一条或多条语句
,按照其自身规定的方式去执行相应的操作。一般说来,解释比编译有着很好的灵活性;编译一般有着较好的性能。但是有些语言确是采用了两者的混合形式:
书中的原文:”如果初始阶段的翻译器比较简单,我们就说这个语言是“解释的”。如果翻译器很复杂,我们就说这一语言是“编译的”。现在两者的区分变得有些模糊了,因为“简单”和“复杂”都是修饰性术语,也因为完全可能出现用一个编译器(复杂的翻译过程)生成代码,而后又由一个复杂的虚拟机(解释器)执行。对于最后这种情况,如果翻译器对程序做了彻底的分析(而不是做某种“机械的”变换),而且有关的中间语言程序与源程序并没有很强的相似性,我们还是说这个语言是编译的。这两种特性----彻底的分析和非平凡的变换-----是刻画编译方式的标志性特征。“
D. 编译型语言与解释型语言分别有哪些
楼上说的对。 做一点补充:其实没那么明确,任何一种语言都可以解释执行和编译执行。解释和编译是程序运行的两种方式。 不能用来区分语言