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

Posted levierx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译型&解释型语言的区别相关的知识,希望对你有一定的参考价值。

任何语言都必须翻译成机器语言,计算机才能运行高级语言编写的程序。 翻译的方式有两种:一个是编译,一个是解释。

编译型语言与解释型语言,最大的区分就是在于翻译时间的不同

 

一、编译型语言(如C、C++)

在程序执行之前有专门的编译过程。将需要运行的文件编译为.exe后缀文件,以后要运行就不用重新编译了,而是直接使用编译完的.exe文件。这样做的优点在于,编译完的程序可以直接打开,执行效率高。

 

二、解释型语言(如Java、Python、C#)

在执行程序的过程中翻译。比如JAVA语言,在运行到待执行的部分代码时,才会将该部分代码编译。解释型语言每次运行都需要重新编译,通常需要编译器参与,效率较低,但优点是拥有跨平台性。

 

总结:

编译型语言,执行前编译,执行效率高,直接编译成机器语言(即某一操作系统可识别的二进制文件),跨平台性差。

解释型语言,执行时翻译,执行效率低,先转换为解释器能识别的语言,再通过解释器(如JVM)解释为机器语言执行,不依赖操作系统,跨平台性强。

 

附:“脚本语言”也是一种解释型语言,特点是通常为文本格式,javascriptphp都是脚本语言,同样由解释器来执行语言。

以上是关于编译型&解释型语言的区别的主要内容,如果未能解决你的问题,请参考以下文章

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

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

编译型语言解释型语言脚本语言之间的区别与联系

编译型语言解释型语言静态类型语言动态类型语言概念 与 区别

解释型和编译型语言的区别?并举例

编译型语言解释型语言静态类型语言动态类型语言概念与区别