編譯型語(yǔ)言和解釋型語(yǔ)言的區(qū)別

編譯型語(yǔ)言:

首先將源代碼編譯生成機(jī)器語(yǔ)言,再由機(jī)器運(yùn)行機(jī)器碼(二進(jìn)制)。像C/C++等都是編譯型語(yǔ)言。

程序在執(zhí)行之前需要一個(gè)專門的編譯過程,把程序編譯成 為機(jī)器語(yǔ)言的文件,運(yùn)行時(shí)不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺(tái)性差些。如C、C++、Delphi等.

解釋型語(yǔ)言:

解釋性語(yǔ)言編寫的程序不進(jìn)行預(yù)先編譯,以文本方式存儲(chǔ)程序代碼。在發(fā)布程序時(shí),看起來省了道編譯工序。但是,在運(yùn)行程序的時(shí)候,解釋性語(yǔ)言必須先解釋再運(yùn)行。

編譯程序:

編譯型語(yǔ)言寫的程序執(zhí)行之前,需要一個(gè)專門的編譯過程,把程序編譯成為機(jī)器語(yǔ)言的文件,比如exe文件,以后要運(yùn)行的話就不用重新翻譯了,直接使用編譯的結(jié)果就行了(exe文件),因?yàn)榉g只做了一次,運(yùn)行時(shí)不需要翻譯,所以編譯型語(yǔ)言的程序執(zhí)行效率高。

編譯語(yǔ)言和解釋型語(yǔ)言的區(qū)別:

解釋性語(yǔ)言在運(yùn)行程序的時(shí)候才翻譯,比如解釋性basic語(yǔ)言,專門有一個(gè)解釋器能夠直接執(zhí)行basic程序,每個(gè)語(yǔ)句都是執(zhí)行的時(shí)候才翻譯。這樣解釋性語(yǔ)言每執(zhí)行一次就要翻譯一次,效率比較低。

編譯型語(yǔ)言和解釋型語(yǔ)言的利弊:

前者由于程序執(zhí)行速度快,同等條件下對(duì)系統(tǒng)要求較低,因此像開發(fā)操作系統(tǒng)、大型應(yīng)用程序、數(shù)據(jù)庫(kù)系統(tǒng)等時(shí)都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語(yǔ)言,而一些網(wǎng)頁(yè)腳本、服務(wù)器腳本及輔助開發(fā)接口這樣的對(duì)速度要求不高、對(duì)不同系統(tǒng)平臺(tái)間的兼容性有一定要求的程序則通常使用解釋性語(yǔ)言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。

編譯型語(yǔ)言不如解釋型語(yǔ)言跨平臺(tái)好:

編譯性語(yǔ)言例如c語(yǔ)言:用c語(yǔ)言開發(fā)了程序后,需要通過編譯器把程序編譯成機(jī)器語(yǔ)言(即計(jì)算機(jī)識(shí)別的二進(jìn)制文件,因?yàn)椴煌牟僮飨到y(tǒng)計(jì)算機(jī)識(shí)別的二進(jìn)制文件是不同的),所以c語(yǔ)言程序進(jìn)行移植后,要重新編譯。(如windows編譯成ext文件,linux編譯成erp文件)。 [3]

解釋性語(yǔ)言,例如java語(yǔ)言,java程序首先通過編譯器編譯成class文件,如果在windows平臺(tái)上運(yùn)行,則通過windows平臺(tái)上的java虛擬機(jī)(VM)進(jìn)行解釋。如果運(yùn)行在linux平臺(tái)上,則通過linux平臺(tái)上的java虛擬機(jī)進(jìn)行解釋執(zhí)行。所以說能跨平臺(tái),前提是平臺(tái)上必須要有相匹配的java虛擬機(jī)。如果沒有java虛擬機(jī),則不能進(jìn)行跨平臺(tái)。[3]

解釋型語(yǔ)言

解釋性語(yǔ)言編寫的程序不進(jìn)行預(yù)先編譯,以文本方式存儲(chǔ)程序代碼。在發(fā)布程序時(shí),看起來省了道編譯工序。但是,在運(yùn)行程序的時(shí)候,解釋性語(yǔ)言必須先解釋再運(yùn)行。比如解釋性Basic語(yǔ)言,其專用的解釋器在執(zhí)行Basic程序時(shí),會(huì)逐條讀取解釋每個(gè)語(yǔ)句,這個(gè)其實(shí)就是一個(gè)編譯過程,然后再執(zhí)行。一般來說,現(xiàn)有的解釋性語(yǔ)言都是采用的逐行解釋一句,執(zhí)行一句這樣的方式來構(gòu)建的。這樣解釋性語(yǔ)言每執(zhí)行一次就要翻譯一次,效率比較低。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容