天天看點

C語言的起源

C語言是貝爾實驗室的Dennis Ritchie于1969年~1973年間建立的。美國國家标準學會(American national standards institute,ANSI)在1989年頒布了ANSI C的标準,後來語言的标準化成了國際标準化組織(International Standards Organization,ISO)的責任。這些标準定義了C語言和一系列函數庫,即所謂的C标準庫。Kernighan和 Ritchie在他們的經典著作中描述了ANSI C,這本著作被人們滿懷感情地稱為“K8R”。用Ritchie的話來說,C語言是“古怪的、有缺陷的,但同時也是一個巨大的成功”。為什麼會成功呢?

C語言與Unⅸ作業系統關系密切。

C從一開始就是作為一種用于Unix系統的程府語言開發出來的。大部分Unix核心(作業系統的核心部分),以及所有支撐工具和函數庫都是用C語言編寫的。20世紀70年代後期到80年代初期,Unix風行于高等院校,許多人開始接觸C語言并喜歡上它。因為Unix幾乎全部是用C編寫的,它可以很友善地移植到新的機器上,這種特點為C和Unix赢得了更為廣泛的支援。

C語言小而簡單。

C語言的設計是由一個人而非一個協會掌控的,是以這是一個簡潔明了、沒有什麼冗贅的設計。K&R這本書用大量的例子和練習描述了完整的C語言及其标準庫,而全書不過261頁。C語言的簡單使它相對而言易于學習,也易于移植到不同的計算機上。

C語言是為實踐目的設計的。C語言是設計用來實作Unix作業系統的。後來其他人發現能夠用這門語言無障礙地編寫他們想要的程式。

C語言是系統級程式設計的首選,同時它也非常适用于應用級程式的編寫。然而,它也并非适用于所有的程式員和所有的情況。C語言的指針是造成程式員困惑和程式錯誤的一個常見原因。同時,C語言還缺乏對非常有用的抽象的顯式支援,例如類、對象和異常,像C++和Java這樣針對應用級程式的新程式語言解決了這些問題。

參考資料:

深度了解計算機系統(P2,3)