首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

C 語言名稱由來:從 ALGOL 到 B 再到 C 的演進史

     編輯:C 語言問答

簡短回答

C 語言沒有正式「全名」,「C」僅為演進鏈條中第 3 代語言的代號:

  1. ALGOL 60 → 奠定結構化程式設計基礎。
  2. CPL (Combined Programming Language) → 功能強大但過於複雜難以實作。
  3. BCPL (Basic CPL) → Martin Richards 精簡 CPL,首字母 **B** 代表 Basic。
  4. B 語言 → Ken Thompson 在 BCPL 基礎上為早期 Unix 進一步精簡,取名 **B**(取 BCPL 首字母或紀念妻子 Bonnie)。
  5. C 語言 → Dennis Ritchie 在 B 語言基礎上增加資料型別、結構體、指標等關鍵特性,取 **B 的下一個字母 C** 命名,標誌著現代 C 語言誕生(1972 年)。

關鍵里程碑

年份事件影響
1972Dennis Ritchie 在貝爾實驗室開發 C 語言Unix 核心重寫為 C,開啟可移植作業系統時代
1978K&R《The C Programming Language》出版事實標準 (K&R C) 確立,全球普及
1989ANSI C (C89) 標準化國際標準誕生,保證跨平台一致性
1999C99 標準發布內聯函數、可變長陣列、`//` 註釋、`stdint.h` 等現代特性
2011C11 標準發布多執行緒、原子操作、泛型選擇、邊界檢查介面
2018C18 (C17) 修正版修正 C11 缺陷,無新特性
2024C23 標準即將發布`constexpr`、`nullptr`、屬性語法、模組等重大現代化特性

為什麼叫 C 而非其他?

  • 單字母命名傳統:B → C → D (後來演變為 C++),簡潔易記。
  • 避免與 BCPL、B 混淆,明確標識「下一代、具備型別系統」的語言。
  • Dennis Ritchie 曾戲稱:「C 代表『下一個字母』,也代表『Compiler』的第一個字母。」

結語

C 語言無全名,僅以單字母 **C** 見證了從 BCPL 到現代計算基石的演進。了解這段歷史,能更深刻體會其「簡潔、貼近硬體、可移植」的設計哲學。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved