1. 程式人生 > >解釋型語言與編譯型語言的區別

解釋型語言與編譯型語言的區別

編譯型語言在程式執行之前,有一個單獨的編譯過程,將程式翻譯成機器語言,以後執行這個程式的時候,就不用再進行翻譯了。

解釋型語言,是在執行的時候將程式翻譯成機器語言,所以執行速度相對於編譯型語言要慢。

C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。

雖然Java程式在執行之前也有一個編譯過程,但是並不是將程式編譯成機器語言,而是將它編譯成位元組碼(可以理解為一箇中間語言)。
在執行的時候,由JVM將位元組碼再翻譯成機器語言。
注:指令碼語言一般都有相應的指令碼引擎來解釋執行。 他們一般需要直譯器才能執行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是指令碼語言。C/C++編譯、連結後,可形成獨立執行的exe檔案。

4.指令碼語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進位制程式碼,以可執行檔案的形式存在.

指令碼語言不需要編譯,可以直接用,由直譯器來負責解釋。

5.指令碼語言一般都是以文字形式存在,類似於一種命令.

舉個例子說,如果你建立了一個程式,叫aaa.exe,可以開啟.aa為副檔名的檔案.

你為.aa檔案的編寫指定了一套規則(語法),當別人編寫了.aa檔案後,你的程式用這種規則來理解編寫人的意圖,並作出迴應.那麼,這一套規則就是指令碼語言。