官术网_书友最值得收藏!

1.1.3 高級語言及其實現

很顯然,計算機不能直接執行高級語言描述的程序。人們在定義了一個編程語言之后,還需要開發出一套處理這一語言的軟件,這種軟件被稱作高級語言系統,也常被稱為該高級語言的實現(implementation)。在研究和開發高級語言的過程中,人們也研究了各種實現技術。高級語言的基本實現技術是編譯(compile)和解釋(interpretation),簡單介紹如下:

(1)采用編譯方式實現高級語言:人們首先針對具體語言(例如FORTRAN、C或C++)開發出一個編譯軟件,該軟件能把采用該高級語言書寫的程序翻譯為所用計算機的機器語言的等價程序。人們用高級語言寫出程序后,只要將它送給相應的編譯程序,就能得到與之對應的機器語言程序。在此之后,只要命令計算機執行這個機器語言程序,計算機就能完成所需要的工作了。

(2)采用解釋方式實現高級語言:人們首先針對具體的高級語言開發出一個解釋軟件,這個軟件的功能就是讀入相應高級語言的程序,并一步步地指揮計算機按照程序的要求工作,最終完成程序所描述的計算工作。有了這種解釋軟件,只需要直接把寫好的程序送給運行著相應解釋軟件的計算機,就能看到計算機執行該程序所描述的工作了。

隨著計算機科學技術的發展,人們不斷開發出新的程序語言,許多老的程序語言被逐漸淘汰。仍在使用的老語言也在急劇變化。以FORTRAN語言為例,它在過去60多年里經過了多次大改版,與初始的FORTRAN語言相比,其最新版本(目前是FORTRAN 2018)幾乎是外觀迥異了。其他有較長歷史的程序語言也都如此。推動程序語言發展的因素很多,一個重要原因是人們對程序設計工作的新認識。隨著程序設計的實踐越來越豐富,人們對程序設計工作應該怎樣做、需要什么樣的結構和要素去描述程序等,不斷產生新的認識。推動語言發展的另一原因是計算機應用的發展。新的應用領域也經常對描述工具提出新的要求,這些認識和要求促使人們改造已有的語言,或者提出新的語言。

目前世界上使用比較廣泛的高級語言有Java、C、C++、Python、FORTRAN、Ada等,這些語言通常被認為是“常規語言”,因為它們有許多共同性質。還有一些語言比較特殊,在形式、編程方式等方面與常規語言差異顯著,互相之間也常大相徑庭。這些非常規語言各有各的特點或應用領域,甚至有特殊的使用人群。這類語言包括Lisp、Smalltalk、Prolog、ML等。雖然它們不如常規語言使用廣泛,但也非常重要,都曾在程序語言或計算機的發展歷史上發揮過(有些仍在發揮著)極其重要的作用。

主站蜘蛛池模板: 成安县| 固原市| 吉水县| 观塘区| 师宗县| 喀什市| 普定县| 普安县| 遂昌县| 静乐县| 金平| 绵竹市| 娄底市| 将乐县| 平度市| 肥西县| 谢通门县| 尼木县| 兴山县| 江川县| 福州市| 温宿县| 汉寿县| 黄大仙区| 云和县| 彭山县| 英德市| 精河县| 东丰县| 遂溪县| 保定市| 丽水市| 建阳市| 连云港市| 元阳县| 克拉玛依市| 海门市| 瑞昌市| 沾化县| 罗定市| 松阳县|