这段时间在学习J2SE,其中提到java是解释性语言,而VB,C语言都是编译性语言,那到底什么是解释,什么是编译呢?
计算机并不能直接接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过一种翻译程序翻译成机器语言形式的目标程序,计算机才能识别.这种翻译程序有两种形式:一种是编译方式,一种是:解释方式.
那什么是编译方式和解释方式?
编译方式:事先编好一个称为编译程序的机器语言程序,作为系统软件存在在电脑中,当用户输入高级语言编写的源程序时,此计算机中的编译程序直接把用户输入的高级源程序翻译成相对应的目标程序,然后执行这个目标程序,最后完成取得结果.
解释方式:当用户输入高级语言编写的源程序时,解释程序是边读边翻译,边翻译边执行.比如网页脚本语言javascript,vbscript.
两者的区别:
编译方式:编译性语言产生目标程序,然后执行目标程序(比如exe),比如C语言,先编译,后执行.执行速度快.
解释方式:不产生目标程序,执行速度慢.
也可以这么说,解释方式就是同声翻译,而编译方式是全文翻译,翻译完毕后执行.
其实也可以用这个比喻来形容.
有两个人阅读外国小说,他们的阅读方式如下:
一个人这么阅读:一边读,一边查字典.
另一个这么阅读:一边读,一边查字典,同时还把相应的翻译记在本子上.
结果怎么样呢?谁先读完呢?
当然,第一次看这本外国小说,肯定是第一个人快.但是下次再读这本小说时, 肯定是第二个人读的快.
其中第一个人相当于解释性语言.第二人相当于编译性语言.