汇编语言、高级语言(系统语言)、脚本语言的异同
匯編語言、高級語言(系統語言)、腳本語言的異同
高級語言主要指需要編譯的語言。如C/C++,Java,C#。腳本語言主要指解釋型語言,編寫的代碼無需編譯器編譯,直接使用解釋器放入虛擬機執行。
高級語言
相比匯編語言來講,有兩點不同,一為在更高的抽象等級,二為是強類型的。
意味著屏蔽了許多的底層細節,主要包括寄存器內存管理、過程調用、簡單的標識符,比如while、for。
平均來講,一行高級語言的代碼對應于五行匯編語言代碼,匯編語言和機器指令幾乎是一一對應的。實驗表明,完成同樣的工作,匯編語言需要的時間為高級語言的3-6倍。所以編寫高級語言的效率是高于匯編語言的。
從以下幾個方面體現:每個變量都必須聲明其類型,數據和代碼分離,變量可以被數據結構或者函數管理。
腳本語言
腳本語言多為無類型的,比如一個變量可能現在為字符串,下一刻又變為整型。
平均每行腳本語言代碼執行成百上千條機器指令,高級語言則大約為五條。其中的原因之一是腳本語言使用了解釋器,更大的原因是腳本語言的操作更加強大。
腳本語言的代碼量和編程時間都少于高級語言。
不同的語言對應不同的任務
腳本語言并非要替代高級語言,他們都有適用的場景。
對于擁有復雜的數據結構和算法的程序,高級語言更容易去管理。因為高級語言不需要類型檢查,運行時間比腳本語言快10-20倍。
當面對選擇腳本語言還是高級語言時,考慮以下幾個問題:
回答是越多越建議使用腳本語言,反之同意以下的說法則建議使用高級語言
在1980年代的unix操作系統時代,sh作為腳本語言,C作為高級語言
在1990年代的個人電腦時代,C作為高級語言,Visual Basic作為腳本語言
在當今互聯網時代,Java作為系統語言,javascript,TCL,Perl等作為腳本語言
GUI出現在1980年代的早期,其目的不是創造新的功能,而是為內部功能和圖形操作之間搭建橋梁。
互聯網的出現極大的推動了腳本語言的發展,因為互聯網本身就是一個粘合的工具。它并沒有創造新的東西,而只是將已有的東西連接起來,更容易訪問到。對互聯網而言,最理想的語言就是可以讓已連接的事物共同地工作,那就是腳本語言。比如javascript在網頁中非常流行。
腳本語言可以很好的粘合軟件中的各部分,如果沒有它,會讓架構失去一些特性。
腳本語言發展迅速,TCL、Perl等比起早期的腳本語言如JCL(Job Control Language)有很大的提升,比如JCL甚至沒有迭代器,早期的unix shell也不支持過程調用。
隨著計算機變得更快,越來越大的程序會使用腳本語言。
隨著個人電腦的普及,越來越多的業余程序員加入,他們的主要工作并不是程序員,而只是通過程序來幫助主工作的完成,腳本語言通過幾個小時的學習便可以寫出一些有用的程序,而系統語言則需要好幾個月,所以他們會更青睞腳本語言。
LISP是腳本語言中的解釋型和動態類型的先驅者。
參考:
總結
以上是生活随笔為你收集整理的汇编语言、高级语言(系统语言)、脚本语言的异同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SDOI2009】学校食堂
- 下一篇: ubuntu 17.10 wifi 网速