§2.1 程序開發語言
§2.1.1 程序設計語言的發展過程
程序設計語言經歷了從機器語言、匯編語言到高級語言這樣一個發展過程。
在計算機剛誕生的時候,人們還沒有發明一種工具可以用來比較方便地指揮計算機工作,計算機程序是直接用計算機能識別的二進制指令來書寫的。由于目前的數字式電子計算機是二進制的,它只能識別“0”或“1”以及它們的序列,所以這種二進制編碼的指令是計算機唯一能識別和執行的指令。這種用二進制代碼書寫指令和程序的語言稱為機器語言。機器語言是直接對計算機硬件產生作用的,所以不同型號的計算機的機器語言又不一樣,這些使得機器語言很難被人掌握和推廣,因此一般只有少數計算機專家或者專業技術人員才使用。
用機器語言編制出來的程序可讀性很差,程序難以修改和維護。為了提高程序設計效率,人們考慮用有助記憶的符號來表示機器指令中的操作碼和操作數,例如在機器語言中,二進制數10110110代表加法運算,那么可以用英文單詞ADD來代表。這就是匯編語言,它實際上是一種符號化的機器語言。顯然,一個有意義的英文單詞比一長串二進制數要簡潔直觀且好記多了。不過,用匯編語言編寫的指令和程序必須經過翻譯程序將匯編程序翻譯成二進制代碼的指令和程序,計算機才能識別和執行。
雖然用匯編語言來編制程序,使編制程序的效率和程序的可讀性都提高了。然而,由于匯編語言和機器語言都是面向機器的語言,而且在程序的書寫形式上很難直觀地反映出程序設計者的思路,因此人們發明了與人類的自然語言非常接近的高級程序設計語言。高級語言不僅易學、易用,而且寫出的程序更加簡練,同一個程序還可以用在不同型號的機器上。舉個例,我們要求兩個數的和,在高級語言中可以用一個很簡單的語句C=A+B;來表示,但在匯編語言或機器語言中,這可能就是幾條甚至幾十條機器指令構成的一個程序段,在不同型號的機器上構成這個程序段的機器指令還不同,而且除非程序設計者告訴你這是一個實現加法的程序,常人要讀懂它也不是那么容易。但是,用高級語言編寫的程序還不能被計算機直接理解和執行,而必須先由這種語言的編譯程序或者解釋程序翻譯成機器指令,然后再讓計算機執行機器指令。
§2.1.2 各種應用中的程序設計語言選擇
程序語言已經歷了40多年的發展,其間人們提出并完善了許多程序語言的概念。程序語言具有交流算法和計算機實現的兩重目的,現在程序語言種類繁多,它們在應用上各有不同的側重面。
1. 用于科學工程計算
科學工程計算需要大量的標準函數庫,以便處理復雜的數值計算,一般選用的語言有FORTRAN、Pascal、C以及PL/1。
FORTRAN是第一個被廣泛應用進行科學計算的高級語言,產生于1954年,經過FORTRAN 0到FORTRAN IV,又相繼擴展為FORTRAN 77,FORTRAN 90等。一個FORTRAN程序有一個主程序或一個主程序與若干個子程序組成。主程序及每一個子程序都分別是獨立的程序單位,稱為程序模塊。在FORTRAN中,子程序是實現模塊化的有效途徑。FORTRAN的結構特別簡單,除了輸入和輸出部分外,幾乎所有FORTRAN成分都可以用硬件結構直接實現,從而使執行效率相當高。經過幾個版本不斷的更新,使它不僅面向科學計算,數據處理能力也很強。
Pascal語言產生于20世紀60年代末,它提供為數不多然而又相當緊湊的機制,具有很強的數據和過程結構化能力,它是第一個體現結構化變成思想的語言。它的數據結構功能,尤其是用戶自定義的數據類型以及該語言的公理化定義,使得它在高級語言的領域內具有很大的吸引力。由于Pascal語言簡明,數據類型豐富,程序結構嚴謹,許多算法都用類Pascal來概括。
|
|