C 程式設計/歷史
我們今天所知的計算領域始於 1947 年,當時貝爾實驗室的三位科學家——威廉·肖克利、沃爾特·布拉頓 和 約翰·巴丁——發明了具有里程碑意義的 電晶體。1956 年,第一臺全電晶體計算機 TX-0 在麻省理工學院完成。第一塊 積體電路 是由 傑克·基爾比 於 1958 年在德州儀器公司製造的,但第一個高階程式語言甚至在此之前就出現了。
Fortran 專案由 IBM 於 1954 年開發。該專案的縮寫是“IBM Mathematical Formula Translating System”,其目的是建立和促進一種過程式指令式程式設計語言的開發,這種語言特別適合數值計算和科學計算。它在生產力和程式設計簡便性(與 組合語言 相比)以及速度(Fortran 程式的執行速度幾乎與用匯編語言編寫的程式一樣快,在某些情況下甚至一樣快)方面取得了突破。此外,Fortran 的編寫層次足夠高(因此機器獨立性也足夠高),因此成為第一個被廣泛採用的程式語言。演算法語言 (Algol 58) 於 1958 年從 Fortran 派生而來,並於 1960 年演變成 Algol 60。然後,組合程式語言 (CPL) 於 1963 年從 Algol 60 建立。1967 年,它演變成 基本 CPL (BCPL),這是 B 的基礎,後者於 1971 年建立,並作為C 的基礎。
B 由貝爾實驗室的 肯·湯普森 建立,它是 BCPL 的簡化版本,也是一種 編譯語言(參見 B 使用者參考),用於早期版本的 UNIX 作業系統。正如 丹尼斯·裡奇 在他的 C 語言發展
PDP-7 上的 B 編譯器不生成機器指令,而是生成“執行緒程式碼”,這是一種解釋方案,其中編譯器的輸出由一系列執行基本操作的程式碼片段的地址組成。這些操作通常——特別是對於 B——在一個簡單的堆疊機上進行。
湯普森和裡奇改進 B,並將結果稱為 NB。對 NB 的進一步擴充套件產生了它的邏輯繼承者 C。大部分 UNIX 都用 NB 重寫,然後用 C 重寫,這導致了更便攜的作業系統。UNIX 的 可移植性 是 UNIX 和 C 最初流行的主要原因。系統程式設計師不必為每臺新機器建立新的作業系統,只需編寫機器所需的少量系統相關部分,然後為新系統編寫 C 編譯器即可。由於大多數系統實用程式是用 C 編寫的,因此用 C 編寫新實用程式是合理的。
美國國家標準協會於 1983 年開始對 C 語言進行標準化工作,並於 1989 年完成了標準化工作。該標準 ANSI X3.159-1989“程式語言 C”作為所有 C 編譯器實現的基礎。該標準後來在 1990 年和 1999 年進行了更新,以允許使用一些常見的功能,或者是在 C++ 中出現的功能。