周瑞環(huán)
摘 要 計(jì)算機(jī)語言的發(fā)展歷史是人們不斷追求更高的模塊化、抽象和封裝的歷史。本文根據(jù)計(jì)算機(jī)的發(fā)展歷程來介紹計(jì)算機(jī)語言的發(fā)展歷史。從計(jì)算機(jī)的發(fā)展和人們的需求出發(fā),說明計(jì)算機(jī)語言的發(fā)展的必然性。并且計(jì)算機(jī)語言的發(fā)展還有很長的路要走。
關(guān)鍵詞 機(jī)器語言 匯編語言 高級語言
中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A
語言是人們描述現(xiàn)實(shí)世界,表達(dá)自己思想觀念的工具。而計(jì)算機(jī)語言是人與計(jì)算機(jī)交流的工具。一方面人類使用各種計(jì)算機(jī)語言將所關(guān)心的現(xiàn)實(shí)世界映射到計(jì)算機(jī)世界;另一方面,人類又可以通過計(jì)算機(jī)語言創(chuàng)造現(xiàn)實(shí)世界中并不存在的虛擬世界?,F(xiàn)代計(jì)算機(jī)的體系結(jié)構(gòu)及實(shí)際計(jì)算模型則是馮.諾依曼模型。計(jì)算機(jī)語言的發(fā)展歷程也從此正式開始。下面將根據(jù)計(jì)算機(jī)的發(fā)展來介紹幾種計(jì)算機(jī)語言。
1機(jī)器語言
當(dāng)所有人都習(xí)慣與操作越來越小巧的計(jì)算機(jī)后,你是否能夠想象世界上的第一臺計(jì)算機(jī),重27噸,占地150平方米是這樣的龐然大物。這樣的機(jī)器需要幾十個(gè)人同時(shí)操作電子開關(guān),機(jī)器才能運(yùn)算。計(jì)算機(jī)發(fā)明之初,科學(xué)家只能用二進(jìn)制數(shù)編制的指令控制計(jì)算機(jī)運(yùn)行。每一條計(jì)算機(jī)指令均由一組“0”、“1”數(shù)字,按一定的規(guī)則排列組成,若要計(jì)算機(jī)執(zhí)行一項(xiàng)簡單的任務(wù),需要編寫大量的這種指令。這種有規(guī)則的二進(jìn)制數(shù)組成的指令集,就是機(jī)器語言。機(jī)器語言是計(jì)算機(jī)唯一能識別并直接執(zhí)行的語言,與匯編語言或高級語言相比,其執(zhí)行效率高。但其可讀性差,不易記憶;編寫程序既難又繁,容易出錯(cuò);程序調(diào)試和修改難度巨大,不容易掌握和使用。
2匯編語言
為了減輕使用機(jī)器語言編程的痛苦,20世紀(jì)50年代初,出現(xiàn)了匯編語言。匯編語言用比較容易識別、記憶的助記符替代特定的二進(jìn)制串。如ADD AX , BX ;表示將寄存器AX 和 BX 中的內(nèi)容相加,結(jié)果保存在寄存器AX中。通過這種助記符,人們就能較容易地讀懂程序,調(diào)試和維護(hù)也更方便了。匯編語言的一條匯編指令對應(yīng)一條機(jī)器指令,與機(jī)器語言性質(zhì)上是一樣的,只是表示方式做了改進(jìn),其可移植性與機(jī)器語言一樣不好??傊?,匯編語言是符號化的機(jī)器語言,執(zhí)行效率仍接近于機(jī)器語言,因此,匯編語言至今仍是一種常用的軟件開發(fā)工具。
3早期高級語言
1956年首先在IBM公司的計(jì)算機(jī)上實(shí)現(xiàn)的由美國的計(jì)算機(jī)科學(xué)家巴科斯設(shè)計(jì)FORTRAN語言,標(biāo)志著高級語言的到來。FORTRAN語言以它的簡潔、高效性,成為此后幾十年科學(xué)和工程計(jì)算的主流語言。早期的這些計(jì)算機(jī)語言都是面向計(jì)算機(jī)專業(yè)人員,為了普及計(jì)算機(jī)語言,使計(jì)算機(jī)更為大眾化,出現(xiàn)了入門級的BASIC語言,至今BASIC語言仍然是絕大多數(shù)軟件開發(fā)人員接觸到的第一們計(jì)算機(jī)語言,同時(shí)也最流行的計(jì)算機(jī)語言。
4結(jié)構(gòu)化高級語言
20世紀(jì)70年代初,結(jié)構(gòu)化程序設(shè)計(jì)的思想孵化出兩種結(jié)構(gòu)化程序設(shè)計(jì)語言,一種是PASCAL語言,另一種是C語言。它們主要的區(qū)別在于PASCAL語言強(qiáng)調(diào)的是語言的可讀性,因此PASCAL語言至今成為學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)等軟件基礎(chǔ)知識的教學(xué)語言;而C語言強(qiáng)調(diào)的是語言的簡潔性以及高效性,因此C語言成為之后幾十年中主流的軟件開發(fā)語言。
但是,到了70年代末期,隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷擴(kuò)大,對軟件技術(shù)的要求越來越高,結(jié)構(gòu)化程序設(shè)計(jì)語言和結(jié)構(gòu)化程序設(shè)計(jì)方法又無法滿足用戶需求的變化了,其缺點(diǎn)也日益顯露出來:代碼的可重用性差,可維護(hù)性差,穩(wěn)定性差,難以實(shí)現(xiàn)。人的思維焦點(diǎn)通常是在于事物和實(shí)體,以及它們的屬性和活動(dòng),但實(shí)際應(yīng)用中,要決定如何通過數(shù)據(jù)結(jié)構(gòu)、變量和函數(shù)來實(shí)現(xiàn)這個(gè)應(yīng)用程序卻是很困難的。于是面向?qū)ο笳Z言應(yīng)運(yùn)而生。
5面向?qū)ο笳Z言
雖然面向?qū)ο蟮乃枷肟梢宰匪莸搅甏?,但是面向?qū)ο笏枷氡黄毡榻邮苓€是得益于面向?qū)ο笳Z言的功勞。在眾多的面向?qū)ο笳Z言當(dāng)中,最為突出的就是C++語言。C++語言是在八十年代初由AT&T貝爾實(shí)驗(yàn)室Bjarne Stroustrup在C語言的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)的。C++語言繼承了C語言的所有優(yōu)點(diǎn),如簡潔性和高效性,同時(shí)引入了面向?qū)ο蟮乃枷?,如類、封裝、繼承、多態(tài)等。像任何人類的自然語言一樣,C++語言提供一種表達(dá)思想和概念的方法,當(dāng)問題變得大而復(fù)雜時(shí),使用C++語言來解決問題將會比使用其它語言更加容易、更加靈活。
在Web技術(shù)的發(fā)展過程中,真正可以稱為計(jì)算機(jī)語言,并得到極大的普及的是Java語言。Java是面向?qū)ο蟮木W(wǎng)絡(luò)語言,它的獨(dú)特的網(wǎng)絡(luò)特性包括:平臺獨(dú)立性、動(dòng)態(tài)代碼下載、為多媒體功能而設(shè)計(jì)的多線程、為通過Internet快速傳送而設(shè)計(jì)的緊湊的代碼格式。Java程序不需要存儲在你的計(jì)算機(jī)上,而是存儲在中央網(wǎng)絡(luò)服務(wù)器。當(dāng)你通過瀏覽器訪問到一個(gè)帶有Java小程序的Web頁面時(shí),Java小程序就會自動(dòng)被下載運(yùn)行。用戶可以從任何一臺具有Java虛擬機(jī)的機(jī)器上訪問任何服務(wù)器上的Java程序。
6結(jié)語
計(jì)算機(jī)語言已經(jīng)成為我們思維的一部分。計(jì)算機(jī)語言是朝著自然語言的方向發(fā)展,它的最終目標(biāo)應(yīng)該是成為人類與計(jì)算機(jī)之間的很自然的交流工具,人可以通過這樣的語言將自己所具有的知識,或者自己的思想、情感、愿望等表達(dá)給計(jì)算機(jī)。
參考文獻(xiàn)
[1] 蔣本珊.計(jì)算機(jī)組成原理(第2版)[M].北京:清華大學(xué)出版社,2008.
[2] 李英華. 計(jì)算機(jī)語言的發(fā)展[J].海軍工程學(xué)院學(xué)報(bào),1986(3).