1. MULTICS——龐大計劃的構想
二十世紀六十年代,貝爾實驗室、麻省理工學院及美國通用電器公司共同參與研發,合作開發出一套安裝在大型主機上的分時、多用途、多用戶的操作系統。
這個操作系統被稱為“多任務信息與計算系統”(Multiplexed Information and Computing System),簡寫為MULTICS。
1969年,因MULTICS項目的工作進展緩慢,最后終究遭裁撤的命運。隸屬于美國電話及電報公司的貝爾實驗室由此退出此項目。
2. UNIX——項目成員的堅守
曾經參與過MULTICS項目的成員——湯姆森(Ken Thompson) 與里奇(Dennis Ritchie)并沒有輕易放棄,他們仍然堅守在貝爾實驗室內,希望開發出一款全新的操作系統。
湯姆森與里奇受到Multics的啟發,將許多Multics中的功能在新的操作系統中重新實現。經過不懈努力,第一個版本的操作系統最終誕生。
此版本的操作系統因為最多只能支持兩個用戶,經常被人戲稱為:“不完善的Multics系統”(UNiplexed Information and Computing System),縮寫為“UNICS”。
然而,在操作系統第二次重大升級后,它真正做到了支持多人同時使用??四釢h(Brian Kernighan)提議將它的名稱從“UNICS”取諧音改為“UNIX”。這便是名聲赫赫的UNIX操作系統的誕生故事。
3. C語言——高級語言的誕生
時間轉動至1973年,湯姆森與里奇不斷嘗試將UNIX移植到不同的硬件平臺上。
可是他們漸漸察覺,使用匯編語言編寫的操作系統,想要進行移植卻異常令人頭疼。
因此,湯姆森和里奇想要完全顛覆過往,在對UNIX操作系統進行第三版重大升級中,使用高級語言進行編寫。
二十世紀七十年代,當時還是匯編語言的天下,幾乎所有人都完全以匯編語言進行開發程序,可想而知他們的想法在其他人看來是有多么瘋狂。
最開始,湯姆森與里奇想嘗試Fortran(世界上第一個被正式推廣使用的高級語言),但結果令人失望。
后來,他們使用了BCPL(Basic Combined Programming Language)語言進行開發,并且整合了BCPL,產生出了B語言。
但是,經過一段時間,里奇認為B語言依舊不能滿足要求,于是改良了B語言,成功研發出了至今依舊大名鼎鼎的高級語言——C語言。
湯姆森與里奇成功地利用C語言,重寫了UNIX的第三版內核。
至此,UNIX這個操作系統無論是修改還是移植都已經相當便利,這也為日后UNIX的普及打下了堅實的基礎。
C語言的誕生離不開UNIX操作系統的發展,而UNIX操作系統的繁榮也離不開C語言的輔助。
UNIX和C語言更像是一整塊磁鐵,牢牢地吸引著對方,結合成為一個完美的統一體。
4. K&R——C語言的第一個非正式標準
1979年,里奇和克尼漢合著出版了一本C語言權威著作。第一次用出版物的形式,全面、系統地講述了C語言的各個特性及程序設計的基本方法,包括基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統接口、標準庫等內容。
這個版本的C語言通常被稱為K&R C。
5. C89——C語言的正式標準
1982年,美國國家標準委員會(ANSI)認識到,對C語言進行標準化有助于C語言在商業編程領域得到更廣泛的使用。
于是成立了委員會,著手制定C語言機器運行時函數庫的標準。
這個委員會成功地制定了C語言標準,并于1989年被采納為《美國國家標準X3.159-1989》,或稱為ANSI C。
在完成ANSI標準后,國際標準化組織(ISO)只對ANSI做了少量編輯性修改,便把它轉換為《國際標準ISO/IEC 9899:1990》。隨后,ANSI也采納了ISO/IEC標準。
由于美國國家標準委員會于1989年采納該標準,所以這個版本通常叫做C89。
6. 后續版本——C語言的發展之路
C89版本后,還有C95(1995年),C99(1999年),C11(2011年)這幾個更新修訂版本。
7. C++——C語言的孿生兄弟
C++語言是20世紀80年代早期由Bjarne Stroustrup在貝爾實驗室設計的。
當軟件系統越來越龐大時,僅僅使用面向過程的編程風格不能很好地滿足程序編寫的要求,這時候C++的誕生很好地彌補了C語言的缺陷。
C++既保留了原有C的大部分語法,又加入了面向對象編程等風格的支持,使得C++受到了越來越多人的喜愛與追捧。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.