1. 程式人生 > >程式語言的發展歷史和未來展望

程式語言的發展歷史和未來展望

人類第一臺 電 子 計 算 機,即“埃 尼 阿 克(ENIAC)” 問世於1946年,由大量的電子管組成,用 於 進 行 彈 道 計算。自埃尼阿克的面世以後,電子計算機經歷了電子管 - 晶 體 管 - 集 成 電 路 - 超大規模積體電路的階 段,執行速度越 來 越 快,而體積和成本也越來越低,從 早期只能手動控制,到現在使用高階語 言 編 程,也 經 歷 了長時間的 發 展 過 程。一般認為,計算機語言最早由 二進位制0與1所 組 成,計算機通過讀取穿孔卡片從而 獲得相應的指令序列,與人類所使用的語言相差甚遠, 其方式類似於摩爾斯電碼。組合語言在二進位制碼的基礎上,加入了一定的助記符幫助程式設計師記憶操作碼,但 仍然十分繁瑣。而高階語言諸如 Fortran,C,C+ +, JAVA 等,伴隨著個人電腦的普及,使程式語言的可讀 性大大提高。計算機語言的不斷髮展,其根本推動力 是抽象機制更高 的 要 求,以及對程式設計思想更好的 支援,也可以說使及其能夠理解的語言提升到能夠很 好模擬人類思考問題的形式(李 源,2008)。而 高 級 語 言的發展過程,從 C語言的面向過程 式 編 程 語 言,到 C ++,Python的面向物件式 編 程,到 現 在 Swift面 向 協 議式程式設計,可以說從無論式以縱向,即 機 器 語 言,匯 編 語言以及高階語言,還是以高階語言這個橫 向 維 度,從 面向過程中使用函式一步一步的執行指令,到 面 向 過 程式的程式設計講問題分解成多個物件,可以看出程式設計方 式越來越貼近實 際 生 活,而且平臺無關的特性使程式 可以方便地被移植到網路上的不同機器、不同平臺葛偉麗,2008)。語言的簡化使得開發週期縮短,而 面 向 物件與面向協議又與當今流行得敏捷開發模式相互契 合,大大加快程式開發的 速 度,今日各式各樣得程式的,已經在數量上遠遠超過了幾十年前,已 難 以 用 數 量 來估算。可以說形形色色的程式已經成為我們生活中 的一部分。 索緒爾提出了語言學的基本概念、研究方向 和 任 務,對現代語言 學、符號學等學科產生了深遠影響,成 為結構主 義 的 重 要 來 源(王 銘 玉 等,2015)。自 索緒爾 開創現代語言學理論以後,語義 學,語 用 學,生 成 語 法,功能對等等諸多理論於上世紀相繼出現,語 言 學 理 論 百花 齊 放,人們紛紛從哲學,社 會 學,心理學等角度對 於語言現象進 行 闡 釋,逐步形成了正是由此形成了形 式主義和功能主義這兩大語言學陣營,它 們 互 為 補充, 共同支撐起了當代語言學的大廈(王銘玉等,同上)。

索緒爾曾認為,語言既是一個 系 統,它 的 各 項 因 素 都有著連帶關係,而且其中每項要素的價值都只是因 為有其他各項要素同時存在的結果。那麼從這個層面 看,無論何種計算機程式語言,都可以構成一個系統, 且每一個語句,函式都有著連帶的關係,而 語 句 和 函 數 之間正是 因 為 相 互 存 在,相 互 依 存,才構成了程式本 身。而人與計算機之間的互動可以看作是一個言語活 動,人類通過輸入程式語言與計算機互動,而 計 算 機 執 行人類所輸入的程式語言從而給予人類反饋資訊,從 以上可以看出,計算機程式語言可視作人與機器之間 交流的一種“語言”,具有一些語言所具有的特性。

 

1952年,對於程式設計來說是具有重要里程碑意義的一一年。MT (美國麻省理工學院)在Whirlwind 系統上使用了符號地址,開始使用匯編語言來編寫程式。Whirlwind被美國空軍用於控制實時防禦系統。

      1954年,IBM公司的JohnBackus和他領導的研究小組開始研製Fortran(FormulaTranslation)語言,這是一種用於科學計算的程式語言。Fortran 語言於1957年研製完成。Fortran支援一些最常用的編碼方式,如算術表示式、邏輯運算、過程呼叫、迴圈和條件等等。相對組合語言來說,Fortran 可以被稱為高階語言,它提高了程式設計師的程式設計效率。Fortran歷盡變遷,如今演變成為Visual Fortran。

      1958年,Robert Noyce (Intel公司的創始人)發明了積體電路。1959 年Grace MurrayHopper開始研製COBOL  ( Common Business-Oriented Language)語言,並於1961年完成。COBOL在銀行系統和許多大型企業中得到了廣泛的應用。直到今天,仍然有許多用COBOL編制的程式在大型機上執行。

      1960年,來自丹麥、英國、法國、德國、荷蘭、瑞士和美國的13名代表舉行了一次國際會議,會後在計算機權威刊物CACM上發表了“關於演算法語言Algol60的報告”。Algol是一“ 種用日常英語以及與常用數學表示式相近的形式表現演算法的語言,沒有輸入輸出語句,全部以過程的形式進行描述,以塊結構為基礎。Algol 是第一一個結構化程式語言。
      1961年,IBM的Kennth Iverson推出APL程式語言,專門用於矩陣運算。

      1965年,  Thomas E. Kurtz和John Kemeny研製了BASIC ( Beginners All PurposeSymbolic Instruction Code)語言。BASIC 特別適合於計算機教育和初學者使用,後來發展成為Visual Basic,為Microsoft公司掙了很多錢。
      1967年,Niklaus Wirth開始在Algol 基礎之上開發PASCAL語言,於1971 年研製完成。PASCAL後來成為Borland公司用來對抗Microsoft公司的利器。但是這個時候,無論是Microsoft還是Borland都還沒有出世。
      1968年,Seymour Paper和他的研究小組在MT開發了LOGO語言。LOGO語言非常有趣,適用於教育領域。LOGO語言的標誌是一個有趣的忍者神龜。
      1969年,ARPANET 計劃啟動( Advanced Research Projects Agency Network),這是      現代Internet的雛形。1970年, 許多大學和商業部門開始接入ARPANET。Internet 的發展又帶動了一.批新的語言,但這是二十年之後的事了。

 

      1970年Ken Thomson和Dennis Ritchie開始研製UNIX作業系統。

 

      1971年11月15日,  Intel公司的Marcian E. Hoff 研製成功第一“ 塊微處理器4004.它含2300個電晶體,是個4位系統,時鐘頻率108KHz,每秒執行6萬條指令。

 

      1972年,貝爾實驗室發明了C語言。C兼有低階語言和高階語言的功能,被人們稱為中級語言。C是一個功能強大的程式語言,它最初因被用於開發Unix系統而聞名於世。到80年代,貝爾實驗室又發明了C++語言。C和C++被譽為是程式設計師的“正宗程式語言”,它們的廣泛應用極大地推動了軟體業的發展。

 

      1974年,這-一年發生了許多重大的事件。4月1日Intel釋出了8位的微處理器晶片8080。12月,MTS釋出了Altair 8800,這是第一臺商用個人計算機,價值397美元,記憶體只有256個位元組。同年,Bill Gates和Paul Allen開始開發第一個在MTS的Altair計算機上執行的BASIC程式,他們手頭甚至沒有Altair 計算機。

 

      1975年Bill Gates和Paul Allen創辦了Micorsoft 公司。要是那個時候人們買了Microsoft公司的股票,那該多好啊。

 

      1976年Zilog 推出Z80處理器,這是一個8位的微處理器。CP/M 就是基於Z80的作業系統。

 

      1979年Jean Ichbiah研製了Ada 語言,被廣泛用於美國軍方。同年,IBM公司眼看著個人計算機市場被蘋果等電腦公司佔有,決定開發自己的個人計算機。Microsoft 公司不但提供了用於IBM-PC的BASIC語言,還承擔了作業系統的開發。

 

 1981年8月,IBM推出了首款IBM-PC,同時也為Microsoft的崛起鋪平了道路。在IBM-PC釋出的同時,MS-DOS 1.0 和PC-DOS 1.0也一起釋出。Microsoft 受IBM委託開發DOS作業系統,他們從Tim Paterson那裡購買了一個叫86-DOS的程式並加以改進。從IBM賣出去的叫PC-DOS,從Microsoft賣出去的叫MS-DOS。Microsoft精明地保留了繼續開發的權利。DOS的最初版本里Bug很多,以至於被稱為“ Dirty OperationSystem",但這卻是Microsoft獨霸PC作業系統的開始。

      1983年Borland公司成立。其創始人是Philippe Kahn和Anders Hejlsberg,他們合作研製了Turbo Pascal,  並在著名的Byte雜誌上登廣告。售價49.99美元的Turbo Pascal是一個革命性的產品,它能夠在RAM中常駐執行,又具有閃電般的編譯速度,成為當時PC.上最流行的開發工具。Borland 也由此邁上了其影響PC軟體開發工具十幾年的道路。

      1985年,Microsoft 釋出了Windows 1.0。最初的Windows存在很多嚴重的Bug,不僅少有人用而且被人譏笑。一直熬到1993 年,  Windows 3.1才獲得成功。Windows 的圖形使用者介面與Apple 公司的類似,以致於被Apple公司控告。訴訟一直持續到1997 年8月,  Apple遇到了嚴重的財務危機,  Microsoft伸出資本的雙手,向Apple注資1.5億美元,  換來了Apple 撤消其控訴。

      1989年,歐洲物理粒子研究所的TimBerners-Lee創作了WorldWideWeb雛形,HTML語言開始流行,大大地推動了Internet 的發展。

1994年Netscape 1.0瀏覽器釋出。
1995年8月,Microsoft 釋出了32位的多工作業系統Windows95,該版本取得了

      巨大的成功。

      同年,號稱“一次編譯,到處執行”的Java語言誕生。1995年12月年,Netscape 釋出了JavaScript。

      1996年1月,Netscape Navigator 2.0釋出,這是第一個支援JavaScript 的瀏覽器。2002年,Microsoft 釋出了NET,開始與Java陣營競爭。

      有人繪製了一張比較直觀的程式語言關係圖,見圖3-1 (取自Internet).

 

 

 

 

筆者談談發展:

現在的計算機容量和處理完全不是什麼問題,那麼計算機程式語言必定是向方便程式設計師的方向發展的。方便從程式設計師讀寫程式碼的趨勢發展。現在程式語言還是多元化,我覺得最終必定會走向統一。多種語言經過長期的互相學習發展,共同促進,會出現一種統一的模式。