1. 程式人生 > >C語言的歷史及特點

C語言的歷史及特點

              C語言是國際上廣泛流行的計算機高階語言,既可以用來編寫系統軟體,也可以用來編寫應用軟體。 

       早期的作業系統軟體主要是用匯編語言(包括UNIX作業系統在內)編寫的。由於組合語言依賴於計算機硬體,所以程式的可讀性和可移植性都比較差,所以呢,為了提高作業系統軟體的可讀性和可移植性,最好改用高階語言。但是呢,一些高階語言又難以實現組合語言的某些功能(組合語言可以直接對硬體進行操作,例如對記憶體地址的操作、位操作等)。所以人們希望找到一種兼顧一般高階語言和低階語言的優點的語言,於是,C語言就在這種情況下誕生了。

     C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL60。

     1960年出現的ALGOF60是一種面向問題的高階語言,它離硬體比較遠,不宜用來編寫系統程式。

     1963年英國劍橋大學推出了CPL語言。CPL語言在ALGOL60的基礎上接近硬體一些,但是規模比較大,難以實現。

     1967年英國劍橋大學的Martin Richards對CPL語言做了簡化,推出了BCPL語言。          1970年美國貝爾實驗室的ç以BCPL 語言為基礎,又進一步簡化,設計出了很簡單的而且很接近硬體的B語言(取BCPL的第一個字母)。

     1971年在PDP 11/20上實現了B語言,並編寫了UNIX作業系統,此時的B語言過於簡單,功能有限。

     1972年至1973間,貝爾實驗室的D.M.Ritchie在B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精煉,接近硬體),又克服了他們的缺點(過於簡單,資料無型別等)。最初的C語言只是為了描述和實現UNIX作業系統提供一種工作語言而設計的。

      1973年,Ken Thompson 和D.M.Ritchie合作把UNIX的90%以上用C語言改寫(即UNIX的第5版。原來的UNIX作業系統是1969年由美國的貝爾實驗室的Ken Thompson 和D.M.Ritchie開發成功的,是用匯編語言編寫的)。

      1975年UNIX第6版釋出後,C語言的衝突優點才引起人們的普遍注意。

      1977年出現了不依賴於具體機器的C語言編譯文字《可移植C語言編譯程式》,使C語言移植到其他機器時所需做的工作大大簡化了,這也推動了UNIX作業系統迅速地在各種機器上實現。例如VAX、AT&T等計算機系統都相繼開發了UNIX。隨著UNIX的日益廣泛使用,C語言也迅速得到了推廣。

      1978年以後,C語言先後移植到大、中、小、微型計算機上,已獨立於UNIX和PDP了。以1978年釋出的UNIX第七版中的C語言編譯程式為基礎,Brain W.Kernighhan和 Dennis M.Ritchie(合稱K&R)合著了影響深遠的名著《The C Programming Language》,這本書中介紹的C語言成為了後來廣泛使用的C語言版本的基礎,它成為事實上的C標準。

       1983年,美國國家標準協會(ANSI)根據C語言問世以來各種版本對C語言進行了發展和擴充,公佈了第一個C語言標準草案(83 ANSI C)。ANSI C比原來的C有了很大的發展。

        K&R在1988年修改了他們的經典著作《The C Programming Language》,按照即將公佈的ANSI C重新寫了該書。

        1989年,ANSI公佈了一個完整的C語言標準-X3.159.1989,簡稱C89.

         1990年,國際化標準組織IOS(International Standard Organization)接受C89為IOS C的標準,通稱C90. C90與C89基本相同。

         1999年,IOS又修訂了C語言標準,簡稱C99.

          目前流行的C語言編譯系統大多是以C89為基礎進行開發的,並未實現C99所建議的所有功能。