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

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

asc 解釋 scrip 使用 行程 機器語言 需要 轉換 ext

任何語言都必須翻譯成機器語言,計算機才能運行高級語言編寫的程序。 翻譯的方式有兩種:一個是編譯,一個是解釋。

編譯型語言與解釋型語言,最大的區分就是在於翻譯時間的不同

一、編譯型語言(如C、C++)

在程序執行之前有專門的編譯過程。將需要運行的文件編譯為.exe後綴文件,以後要運行就不用重新編譯了,而是直接使用編譯完的.exe文件。這樣做的優點在於,編譯完的程序可以直接打開,執行效率高。

二、解釋型語言(如Java、Python、C#)

在執行程序的過程中翻譯。比如JAVA語言,在運行到待執行的部分代碼時,才會將該部分代碼編譯。解釋型語言每次運行都需要重新編譯,通常需要編譯器參與,效率較低,但優點是擁有跨平臺性。

總結:

編譯型語言,執行前編譯,執行效率高,直接編譯成機器語言(即某一操作系統可識別的二進制文件),跨平臺性差。

解釋型語言,執行時翻譯,執行效率低,先轉換為解釋器能識別的語言,再通過解釋器(如JVM)解釋為機器語言執行,不依賴操作系統,跨平臺性強。

附:“腳本語言”也是一種解釋型語言,特點是通常為文本格式,JavaScript,PHP都是腳本語言,同樣由解釋器來執行語言。

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