博客 / 詳情

返回

《C語言電子新-2026最新版》-C語言的誕生故事

大家好,我是良許,一個深耕嵌入式 12 年的老工程師,前世界 500 強高工。

我花了 3 個月時間,寫了一個 C 語言電子書,以非常通俗的語言跟大家講解 C 語言,把複雜的技術講得連小學生都能聽得懂,絕不是 AI 生成那種晦澀難懂的電子垃圾。

點擊此處免費領取 C 語言電子書

C 語言電子書目錄如下:

貝爾實驗室的創新環境

C語言誕生在一個充滿創新氛圍的地方——美國貝爾實驗室。這個實驗室在20世紀可以説是科技創新的聖地,晶體管、激光器、信息論等重要發明都出自這裏。在這樣一個彙集了世界頂尖科學家的地方,誕生一門影響世界的編程語言似乎也就不那麼意外了。

丹尼斯·裏奇其人

C語言的創造者是丹尼斯·裏奇(Dennis Ritchie),一個看起來普通但實際上改變了世界的程序員。裏奇於1941年出生在紐約,從小就對數學和物理很感興趣。1967年,他從哈佛大學獲得數學博士學位後,就加入了貝爾實驗室。在那裏,他遇到了另一位計算機科學巨匠肯·湯普遜(Ken Thompson),兩人的合作改變了計算機科學的歷史。

<img src="https://lxlinux.superbed.verylink.top/item/684156db58cb8da5c82f4f4b.png" style="zoom:50%;" />

UNIX系統的催生

説到C語言的誕生,就不得不提UNIX操作系統。在60年代末,貝爾實驗室參與了一個叫做Multics的操作系統項目,這是一個雄心勃勃的多用户、多任務操作系統項目。然而,這個項目過於複雜,進展緩慢,貝爾實驗室最終退出了這個項目。

肯·湯普遜對此感到不滿,他想要一個簡單、高效的操作系統。1969年,他在一台閒置的PDP-7小型機上開始編寫一個新的操作系統,這就是UNIX的雛形。最初的UNIX是用匯編語言編寫的,雖然功能強大,但移植性很差。每當要在不同的硬件平台上運行UNIX時,都需要重寫大量的代碼。

1969年,貝爾實驗室參與的Multics操作系統項目因為複雜和進展緩慢而被放棄。項目解散後,肯·湯普遜手頭有一台PDP-7小型機,他想繼續做一些有趣的事情。此時,他確實想在這台機器上運行自己設計的一個遊戲——Space Travel(太空旅行)。這個遊戲最初是在大型機上開發的,但移植到PDP-7上時,發現原有的操作系統不支持,運行效率也很低。

為了能順利玩上自己的遊戲,湯普遜決定自己動手,開發一個簡單高效的操作系統來支持遊戲的運行。這個操作系統就是UNIX的最早雛形。後來,丹尼斯·裏奇等人加入,UNIX逐漸發展成一個功能強大的多用户、多任務操作系統。

B語言的前奏

為了解決UNIX的移植問題,湯普遜在1970年基於BCPL語言設計了B語言。B語言比彙編語言更容易使用,但它有一個致命的缺陷:它是無類型的語言,所有的數據都被當作字來處理。這在處理複雜的數據結構時非常不便,而且在當時新興的微處理器上效率也不高。

C語言的正式誕生

丹尼斯·裏奇看到了B語言的侷限性,決定對其進行改進。從1969年到1973年,裏奇在B語言的基礎上,借鑑了ALGOL語言的一些特性,設計出了一門新的編程語言。這門語言繼承了B語言的簡潔性,又增加了數據類型的概念,大大提高了編程的靈活性和效率。由於它是B語言的後繼者,裏奇將其命名為C語言。

1972年,第一個C編譯器在PDP-11上實現,標誌着C語言的正式誕生。1973年,裏奇和湯普遜開始用C語言重寫UNIX操作系統。這是一個具有里程碑意義的事件,因為這是第一次用高級語言編寫系統軟件,證明了C語言的強大能力。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.