c語言的發展歷史如何?

C語言之所以命名為C,是因為C語言源自KenThompson發明的B語言,而B語言則源自BCPL語言。

1967年,劍橋大學的MartinRichards對CPL語言進行了簡化,於是產生了BCPL(BasicCombinedProgrammingLanguage)語言。

20世紀60年代,美國AT&T公司貝爾實驗室(AT&TBellLaboratory)的研究員KenThompson閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子遊戲——SpaceTravel。他背著老闆,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而遊戲必須使用操作系統的一些功能,於是他著手為PDP-7開發操作系統。後來,這個操作系統被命名為——UNIX。

1970年,美國貝爾實驗室的KenThompson,以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。

1971年,同樣酷愛SpaceTravel的DennisM.Ritchie為了能早點兒玩上遊戲,加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。

1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。

1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX。此時,編程的樂趣使他們已經完全忘記了那個"SpaceTravel",一門心思地投入到了UNIX和C語言的開發中。隨著UNIX的發展,C語言自身也在不斷地完善。直到今天,各種版本的UNIX內核和周邊工具仍然使用C語言作為最主要的開發語言,其中還有不少繼承Thompson和Ritchie之手的代碼。

C++語言代碼

在開發中,他們還考慮把UNIX移植到其他類型的計算機上使用。C語言強大的移植性(Portability)在此顯現。機器語言和彙編語言都不具有移植性,為x86開發的程序,不可能在

Alpha,SPARC和ARM等機器上運行。而C語言程序則可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進位文件之後即可運行。

1977年,DennisM.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。

C語言繼續發展,在1982年,很多有識之士和美國國家標準協會為了使這個語言健康地發展下去,決定成立C標準委員會,建立C語言的標準。委員會由硬體廠商,編譯器及其他軟體工具生產商,軟體設計師,顧問,學術界人士,C語言作者和應用程序員組成。1989年,ANSI發布了第一個完整的C語言標準——ANSIX3.159—1989,簡稱「C89」,不過人們也習慣稱其為「ANSIC」。C89在1990年被國際標準組織ISO(InternationalOrganizationforStandardization)一字不改地採納,ISO官方給予的名稱為:ISO/IEC9899,所以ISO/IEC9899:1990也通常被簡稱為「C90」。1999年,在做了一些必要的修正和完善後,ISO發布了新的C語言標準,命名為ISO/IEC9899:1999,簡稱「C99」。在2011年12月8日,ISO又正式發布了新的標準,稱為ISO/IEC9899:2011,簡稱為「C11」。


推薦閱讀:

走迷宮——來做道題?
Scratchapixel舉步維艱,尋求贊助或投放廣告
C語言基礎:不定參數
從零開始手敲次世代遊戲引擎(四十一)

TAG:編程 | C(編程語言) |