簡介 計算機不能直接理解任何除機器語言以外的語言,,所以必須要把程序員所寫的程序語言翻譯成機器語言,,計算機才能執(zhí)行程序。將其他語言翻譯成機器語言的工具,,被稱為編譯器,。
編譯器翻譯的方式有兩種:一個是編譯,一個是解釋,。兩種方式之間的區(qū)別在于翻譯時間點的不同,。當編譯器以解釋方式運行的時候,也稱之為解釋器,。 解釋性語言編寫的程序不進行預先編譯,,以文本方式存儲程序代碼。在發(fā)布程序時,,看起來省了道編譯工序,。但是,在運行程序的時候,,解釋性語言必須先解釋再運行,。比如解釋性Basic語言,其專用的解釋器在執(zhí)行Basic程序時,,會逐條讀取解釋每個語句,,這個其實就是一個編譯過程,然后再執(zhí)行,。一般來說,,現(xiàn)有的解釋性語言都是采用的逐行解釋一句,執(zhí)行一句這樣的方式來構建的,。這樣解釋性語言每執(zhí)行一次就要翻譯一次,,效率比較低。
優(yōu)缺點 編譯型與解釋型,,兩者各有利弊,。前者由于程序執(zhí)行速度快,同等條件下對系統(tǒng)要求較低,,因此像開發(fā)操作系統(tǒng),、大型應用程序、數(shù)據(jù)庫系統(tǒng)等時都采用它,,像C/C++,、Pascal/Object Pascal(Delphi)等都是編譯語言,,而一些網(wǎng)頁腳本、服務器腳本及輔助開發(fā)接口這樣的對速度要求不高,、對不同系統(tǒng)平臺間的兼容性有一定要求的程序則通常使用解釋性語言,,如JavaScript、VBScript,、Perl,、Python、Ruby,、MATLAB 等等,。 但隨著硬件的升級和設計思想的變革,編譯型和解釋型語言越來越籠統(tǒng),,主要體現(xiàn)在一些新興的高級語言上,,而解釋型語言的自身特點也使得編譯器廠商愿意花費更多成本來優(yōu)化解釋器,解釋型語言性能超過編譯型語言也是必然的,。 |
|