解釋性語言

解釋性語言

編程語言
解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。MATLAB采用類似C語言的高級語言語法,可以使用簡單的英語語法,容易閱讀,加上它的解釋性可以及時映射計算方法結果,這讓專業領域内的研究者,從煩人的計算機語言中脫離出來,而隻需要關心自身的領域的内容。前者由于程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、數據庫系統等時都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言,而一些網頁腳本、服務器腳本及輔助開發接口這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。
    中文名:解釋性語言 外文名: 拼音: 近義詞: 反義詞: 性質:計算機 類别:編程語言 最早:MATLAB

簡介

計算機不能直接理解任何除機器語言以外的語言,所以必須要把程序員所寫的程序語言翻譯成機器語言,計算機才能執行程序。将其他語言翻譯成機器語言的工具,被稱為編譯器。

編譯器翻譯的方式有兩種:一個是編譯,一個是解釋。兩種方式之間的區别在于翻譯時間點的不同。當編譯器以解釋方式運行的時候,也稱之為解釋器。

解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是,在運行程序的時候,解釋性語言必須先解釋再運行。比如解釋性Basic語言,其專用的解釋器在執行Basic程序時,會逐條讀取解釋每個語句,這個其實就是一個編譯過程,然後再執行。一般來說,現有的解釋性語言都是采用的逐行解釋一句,執行一句這樣的方式來構建的。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。

發展曆程

沒有任何資料能夠說明,哪種編程語言是解釋性語言的鼻祖。但,就仍然在使用的解釋性語言中,追其曆史,最“古老”的無異于MATLAB,它在1984年出生。

在數學建模領域,MATLAB的出現,讓很多數學研究得到大力的推進。而,它的流行,也正得益于它的解釋性。因為,在數學相關研究中,研究者們需要不斷改變計算方法和計算參數值,然後直觀地看到這些改變對“所研究系統”的影響。而,計算方法正是計算機語言必須要寫入程序代碼一個必要因素,計算方法的更改意味着程序的重新構建。這意味着花費時間和等待,所以,80年代,如果希望使用計算機來模拟一個虛拟系統進行研究,那麼研究者們的選擇隻有:自己實現或者構建一個團隊來實現。MATLAB采用類似C語言的高級語言語法,可以使用簡單的英語語法,容易閱讀,加上它的解釋性可以及時映射計算方法結果,這讓專業領域内的研究者,從煩人的計算機語言中脫離出來,而隻需要關心自身的領域的内容。

互聯網時代的到來,也離不開解釋性語言:HTML、XML和Javascript。可以說,HTML開始互聯網時代,XML和Javascript推動互聯網瘋狂發展。Ajax技術的出現,當然也依賴于解釋性語言的解釋特性。

在lua被魔獸世界流行後,越來越多的解釋性語言被構建出來,大有取代編譯性語言的趨勢,如Python、Ruby等等。

優缺點

編譯型與解釋型,兩者各有利弊。前者由于程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、數據庫系統等時都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言,而一些網頁腳本、服務器腳本及輔助開發接口這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。

但随着硬件的升級和設計思想的變革,編譯型和解釋型語言越來越籠統,主要體現在一些新興的高級語言上,而解釋型語言的自身特點也使得編譯器廠商願意花費更多成本來優化解釋器,解釋型語言性能超過編譯型語言也是必然的。

上一篇:一葉障目

下一篇:旅遊景區規劃

相關詞條

相關搜索

其它詞條