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