電腦語言的歷史
|
電腦語言也叫程序語言(Program Lauguage),是人與電腦交流和溝通的工具。 早期電腦都直接採用機器語言,即用「0」和「1」為指令代碼來編寫程序,難寫難讀,編程效率 極低。為了方便編程,隨即出現了彙編語言,雖然提高了效率,但仍然不夠直觀簡便。從1954年 起,電腦界逐步開發了一批「高級語言」,採用英文詞彙、符號和數字,遵照一定的規則來編寫 程序。高級語言誕生後,軟件業得到突飛猛進的發展。 1953年12月, IBM公司程序師約翰·巴科斯(J. Backus)<圖右> 寫了一份備忘錄,建議為IBM704設計 一種全新的程序設計語言。巴科斯曾在「選擇順序控制計算機」(SSEC)上工作過3年, 深深體 會到編寫程序的困難性。他說:「每個人都看到程序設計有多昂貴,租藉機器要花去好幾百萬,而 程序設計的費用卻只會多不會少。」 巴科斯的目標是設計一種用於科學計算的「公式翻譯語言」(FORmula TRANslator)。他帶領一 個13人小組,包括有經驗的程序員和剛從學校畢業的青年人,在IBM704電腦上設計出編譯器軟件, 於1954年完成了第一個電腦高級語言——FORTRAN語言。1957年,西屋電氣公司幸運地成為FORTRAN 的第一個商業用戶, 巴科斯給了他們一套存儲著語言編譯器的穿孔卡片。 以後,不同版本的 FORTRAN紛紛面世,1966年,美國統一了它的標準,稱為FORTRAN 66語言。 40多年過去,FORTRAN 仍然是科學計算選用的語言之一,巴科斯因此摘取了1977年度「圖林獎」。 FORTRAN廣泛運用的時候, 還沒有一種可以用於商業計算的語言。美國國防部注意到這種情況, 1959年5月,五角大樓委託格雷斯·霍波博士領導一個委員會,開始設計面向商業的通用語言 (Common Business Oriented Langauge) ,即COBOL語言。COBOL最重要的特徵是語法與英文很 接近, 可以讓不懂電腦的人也能看懂程序;編譯器只需做少許修改,就能運行於任何類型的電腦。 委員會一個成員害怕這種語言的命運不會太長久, 特地為它製作了一個小小的墓碑。然而,COBOL 語言卻倖存下來。1963年,美國國家標準局將它進行了標準化。用COBOL寫作的軟件,要比其他語言 多得多。 1958年,一個國際商業和學術計算機科學家組成的委員會在瑞士蘇黎世開會,探討如何改進FORTRAN, 並且設計一種標準化的電腦語言,巴科斯也參加了這個委員會。1960年,該委員會在1958年設計基 礎上,定義了一種新的語言版本——國際代數語言ALGOL 60,首次引進了局部變量和遞歸的概念。 ALGOL語言沒有被廣泛運用,但它演變為其他程序語言的概念基礎。 60年代中期, 美國達特默斯學院約翰·凱梅尼 (J. Kemeny) 和托馬斯·卡茨(T.Kurtz)認為, 象FORTRAN那樣的語言都是為專業人員設計,而他們希望能為無經驗的人提供一種簡單的語言,特 別希望那些非計算機專業的學生也能通過這種語言學會使用電腦。於是, 他們在簡化FORTRAN的基 礎上, 研製出一種 「初學者通用符號指令代碼」(Beginners All purpose Symbolic Intruction Code),簡稱BASIC。由於BASIC語言易學易用, 它很快就成為最流行的電腦語言之一,幾乎所有小 型電腦和個人電腦都在使用它。經過不斷改進後,它一直沿用至今,出現了象QBASIC、VB等新一代 BASIC版本。 1967年,麻省理工學院人工智能實驗室希摩爾·帕伯特(S.Papert),為孩子設計出一種叫LOGO的 電腦語言。帕伯特曾與著名瑞士心理學家皮亞傑一起學習,他發明的LOGO最初是個繪圖程序,能控 制一個「海龜」圖標,在屏幕上描繪爬行路徑的軌跡,從而完成各種圖形的繪製。帕伯特希望孩子 不要機械地記憶事實,強調創造性的探索。他說:「人們總喜歡講學習,但是,你可以看到,學校 的多數課程是記憶一些數據和科學事實,卻很少著眼於真正意義上的學習與思考。 」 他用LOGO語 言啟發孩子們學會學習,在馬薩諸塞州列剋星敦,一些孩子用LOGO語言設計出了真正的程序,使 LOGO成為一種熱門的電腦教學語言。 1971年,瑞士聯邦技術學院尼克勞斯·沃爾斯(N. Wirth)教授發明了另一種簡單明晰的電腦語言, 這就是以帕斯卡的名字命名的PASCAL語言。PASCAL語言語法嚴謹,層次分明,程序易寫,具有很強 的可讀性,是第一個結構化的編程語言。它一出世就受到廣泛歡迎,迅速地從歐洲傳到美國。沃爾 斯一生還寫作了大量有關程序設計、算法和數據結構的著作,因此,他獲得了1984年度「圖林獎」。 1983年度的 「圖林獎」 則授予了AT&T貝爾實驗室的兩位科學家鄧尼斯·裡奇 (D.Ritchie)和他 的協作者肯·湯姆森(K. Thompson)<圖左>,以表彰他們共同發明著名的電腦語言C。C語言現在是當今 軟件工程師最寵愛的語言之一。 裡奇最初的貢獻是開發了UNIX操作系統軟件。他說,這裡有一個小故事:他們答應為貝爾實驗室開 發一個字處理軟件,要求購買一台小型電腦PDP-11/20,從而爭取到10萬美元經費。可是當機器購 回來後,他倆卻把它用來編寫UNIX系統軟件。UNIX很快有了大量追隨者,特別是在工程師和科學家 中間引起巨大反響,推動了工作站電腦和網絡的成長。1970年,作為UNIX的一項「副產品」,裡奇 和湯姆森合作完成了C語言的開發,這是因為研製C語言的初衷是為了用它編寫UNIX。這種語言結合 了彙編語言和高級語言的優點,大受程序設計師的親睞。 1983年,貝爾實驗室另一研究人員比加尼·斯楚士舒普 (B.Stroustrup),把C語言擴展成一種面 向對象的程序設計語言C++。如今,數以百萬計的程序員用它來編寫各種數據處理、實時控制、系 統仿真和網絡通訊等軟件。斯楚士舒普說:「過去所有的編程語言對網絡編程實在太慢,所以我 開發C++,以便快速實現自己的想法,也容易寫出更好的軟件。」1995年,《BYTE》雜誌將他列入 「計算機工業20個最有影響力的人」的行列。 |