文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
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)