(讀後摘抄)《計算機程序設計語言的發展》_王汝傳
原文是《電子工程師》裏的一篇文章,以下是部分內容摘抄
第三代計算機語言:
Fortran語言
當時主要是用於科學計算 ,它 與匯編語言助記符的本質區別是引入了變量的概 念。它奠定了程序設計語言名字的理論基礎 ,同時引 入了表達式、語句和子程序等概念 ,也是高級程序設計語言的基礎。因其高效 率與完善的輸入輸出功能而受到人們的歡迎 ,至今 在科學計算領域仍充滿生命力。
Algol語言
孕育了許多很有用的程序設計與程序設計語 言思想 ,如自由程序格式、保留字、數據類型、分程序 概念、子程序調用方式、遞歸、動態數組、條件語句與 循環語句的形式等 ,這些思想一直到現在都影響著 程序設計語言的設計。
Cobol語言
主要貢獻是其引入的獨 立於機器的數據描述概念 (它是數據庫管理系統中 主要概念的鼻祖 )與類似英語的語法結構。 COBO L 的出現 ,使人們開始意識到計算機不僅可以應用於 科學計算領域 ,而且還可以進入各種事務處理領域 , 拓寬了計算機的應用範圍。
Lisp語言
這是一個用於處理符號表達式的相當簡單的函數式程序設計語言。以數學中的函數與函數作用的概念作為其設計原理 ,它奠定了函數式語言的基礎。
Basic語言
它允許有較多的人機對話 ,簡單易學,便於修改和調試 ,具有簡單的語法形式和有限的數據結構與控制結構 ,現在仍被廣泛使用。它的流行得益於它的簡單性、實現的方便性與高效率。它不僅用於各種科學計算,而且廣泛應用於各種數據處理,還可用作教學工具。
Pascal語言
Pascal語言不僅用作教學語言 ,而且也用作系統程序設計語言和某些應用。所謂系統程序設計語言 ,就是用這種語言可以編寫系統軟件 ,如操作系統、編譯程序等。Pascal語言是一種 安全可靠的語言 ,有強數據類型。語法滿足自頂向下設計和結構程序設計。 Pascal語言吸收了 ALGOL 語言中許多有益成分 ,例如用while與case語句結構 ,用戶自定義數據類型等。 這樣,使得 Pascal 語言的數據抽象進入一個新的層次。
Ada語言
Ada語言是在 Pascal語言的基礎上研制出來 的 ,它在 Pascal語言的基礎上增加、擴充了數值計算、輸入/輸出、數據抽象、並發處理、實時處理、異常處理以及與機器有關的設施。 它集中體現了軟件工程學、程序設計語言學、程序設計方法學的優秀研究成果 ,能大力支持程序模塊性、可移植性、可擴充性、抽象與信息隱藏 ,有助於高效的開發與維護程序。但Ada語言過於龐大、復雜。
Prolog語言
Prolog語言是邏輯式程序設計語言。現在, PRO LOG語言已成為與LISP語言齊名的兩個主要人工智能語言
C語言
BCPL語言基礎上發展起來 ,用於編寫 UN IX操作系統。
C語言具有結構性 ,是一種結構化語言,層次清晰,易於調試和維護;但它又不是完全結構化的,因為在C函數中允許使用 goto語句 ,函數可以相互調動,無嵌套關系,在同一控制流或函數中允許多個出口;語句簡練,書寫靈活;處理能力強;移植性好。C語言的主要不足之處是它不是一種強類型語言,這在一定意義下影響到安全性;此外,運算符多,優先級復雜,對初學者不利。
C++語言
C++語言是一種在C語言基礎上發展起來的面向對象語言,支持數據抽象和面向對象風範。
C++語言是對C語言的擴充,從 Simula中吸取了類,從Algol語言中吸取了運算符一名多用、引用和在分程序中任何位置均可說明變量,綜合了Ada語言的類屬和 Clu語言的模塊特點,形成了抽象類 ,從 Ada、Clu和 ML等語言吸取了異常處理 ,從BCPL語言中吸取了用∥表示註釋。
C++語言保持了C語言的緊湊、靈活、高效以及易於移植性強等優點,它對數據抽象的支持主要在於類概念和機制,對面向對象風範的支持主要通過虛擬機制函數。因 C++語言有數據抽象和面向對象能力、運行性能高,加上C語言的普及,從C語言到C++語言的過渡較為平滑,以及C++語言與C語言的兼容程度可使數量巨大的C語言程序能方便地在C++語言環境中復用,使 C+ + 語言在短短幾年內能迅速流行,成為當前一種面向對象程序設計的主流語言。
Java語言
Java語言是一種簡捷的、面向對象的、用於網絡環境的程序設計語言。Java語言的基本特征是:
簡捷易學(它堅持面向對象的基本原 理 ,又避免了運算符 的一名多用、多重繼承等復雜 概念)
面向對象(在堅持面向對象方法的基礎上,Java提供了頗為簡單的類機制,以及富有成效的接 口模型)
適用於網絡分布環境(Java是一種面向網絡應用的語言,通過它所提供的類庫,可以處理TCP/ IP協議,可以通過URL地址在網絡上訪問其它對象,能較方便地與其他計算結點協同工作)
解釋執行和多線程(Java解釋程序能直接對 Java的字節編碼進行解釋執行 ,由於可以從字節碼 獲得部分編譯信息 ,因此使得連接過程更加簡捷)
安全健壯(由於Java提供了自動廢區收集、面向對象的異常處理、自動捕獲類型說明中的常見錯誤,一切對內存的訪問都必須通過對象的實例變量實現等手段,因此, Jav可以防止部分故障,具有一定的安全健壯性)
(讀後摘抄)《計算機程序設計語言的發展》_王汝傳