编译型和解释型语言的区别-个人理解

 电脑是不能够直接识别我们的高级语言的,所有高级语言都必须先转换为机器语言才能被电脑执行。在转换时机上的区别就导致出现了两种不同类型

狂神说:打个比方,就好比一本中文书,现在有一个美国人来读这本书,有两种办法:一是把整本书翻译成英语,这样这个美国人只需要买一本翻译后的书;二是

雇佣一个翻译,这样的好处是不必买书,美国人读到哪里就让翻译翻译到哪里。在这里的话,前者就是编译型,后者就是解释型。

  前者的代表比如C语言,C++,后者的代表比如python,JavaScript等脚本语言。编译型语言好处是一次编译,永久执行,但是跨平台能力差,比如你的代码由windows迁移到linux上时,需要重新编译。编译型语言会先编译为一个特定的可执行文件,这个文件是针对特定平台的。解释型语言就好比一个翻译机器人,会各种语言,你带着他,会把你的话一句一句解释给别人听。

JAVA是一个解释器+编译器混合型语言。JAVA中的javac命令首先把.java文件编译成.class文件,这个过程符合编译型语言的特点,一次编译,但是并未编译成实际平台的机器码,而java命令解释执行,逐行解释成特定平台的机器码,这一过程符合解释性语言的特点,所以说,JAVA既是编译型语言,又是解释型语言。

posted @ 2020-10-10 09:38  灵魂摆渡夏冬青  阅读(268)  评论(0)    收藏  举报