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

学习笔记 马富天 2016-05-27 09:11:43 77 0

【摘要】面试过程中,经常会被问到什么是编译型语言什么是解释性语言,Java、PHP、JSP是属于编译型语言还是解释型语言,在这篇文章中我做一个简单概括。

计算机无法直接理解高级语言,只能够理解机器语言,因此我们通过高级语言编写好的程序都是需要翻译成机器语言,这样计算机才能够理解。

根据翻译的方式,将语言分为两种:编译型语言和解释型语言。

编译型语言是程序在执行之前,需要一个专门的编译过程,把高级程序编译成机器语言,或者是机器语言的文件,例如exe文件,以后执行这个程序的时候就不再需要翻译过程了,所以编译型语言的执行速度是比较快的。

解释型语言是指程序运行的时候,一条一条语句的翻译成机器语言,翻译好了才执行,而且每次执行的时候都需要编译,这样运行速度相对于解释型语言来说是比较慢的。

C/C++都是编译型语言,Java/C#等都是解释型语言。

java比较特殊,java程序在执行之前也有一个编译的过程,但不是把程序编程成机器语言,而是将它编译成字节码(可以理解为是中间语言),而在程序执行的过程再进行解释,由JVM将字节码翻译成机器语言。

也就是说java是先编译后解释的语言,总体上来说java是解释型语言。

另外,脚本语言都是解释型语言,例如javascript,vbscript等,不象C/C++可以编译成二进制代码,以可执行文件的形式保存。

PHP是解释型语言,PHP代码运行过程中,先将PHP代码解释为opcode之后再交由Zend引擎执行。

JSP属于解释型语言。

优缺点:解释型语言,执行速度慢,效率低,依赖于解释器,跨平台性好。

编译型语言,执行速度快,效率高,依赖于编译器,跨平台性差。

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

关于解释型语言和编译型语言的区别,我们就只需要了解这么多就可以了。

版权归 马富天PHP博客 所有

本文标题:《解释型语言和编译型语言的区别》

本文链接地址:http://www.mafutian.net/129.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 Windows系统下Myeclipse 2015 stable 2.0的安装及破解方法 》 下一篇《 PHP不使用第三个变量$c实现变量换值的7种方式 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码