C 語言誕生於 Unix 重寫,設計目標是高級語言表達力 + 組合語言級控制力。這賦予它獨特地位:
| 領域 | 代表專案/產品 | 為何選 C |
|---|---|---|
| 作業系統核心 | Linux、Windows NT、macOS XNU、FreeBSD、RTOS (FreeRTOS, Zephyr) | 裸機啟動、中斷處理、排程器、記憶體管理、驅動模型 |
| 嵌入式/單晶片 | 汽車 ECU、工控、IoT 節點、可穿戴、無人機飛控 | KB 級 RAM/ROM、確定性執行、編譯器支援最完善 |
| 高效能運算/科學計算 | BLAS/LAPACK、OpenMP、MPI、TensorFlow/XLA 核心、量化金融引擎 | 向量化、記憶體佈局控制、編譯器優化成熟 |
| 遊戲引擎核心 | Unreal Engine (C++ 但核心模組 C 風格)、Unity IL2CPP 輸出、Cocos2d-x、Godot 核心 | 幀率預算嚴苛、主機平台認證要求、記憶體池/物件池 |
| 資料庫引擎 | MySQL/InnoDB、PostgreSQL、SQLite、Redis、RocksDB、ClickHouse | 頁面管理、WAL、鎖免演算法、極致 I/O 效能 |
| 網路基礎設施 | Nginx、OpenSSL、cURL、DPDK、eBPF、Linux 核心網路協定棧 | 零拷貝、非阻塞 I/O、協定解析、加密演算法 |
| 編譯器/工具鏈 | GCC、LLVM/Clang、Linker、ld、GDB、CMake | 自宿主、編譯速度、IR 優化、目標機器描述 |
| 解釋器/虛擬機 | CPython、Lua、V8 (C++)、JVM (C++)、Ruby、PHP、Perl | 物件模型實作、GC、JIT、C API 擴展機制 |
| 多媒體/編解碼 | FFmpeg、x264/x265、libvpx、Opus、OpenH264 | SIMD 內建、位流操作、實時編解碼延遲控制 |
| 安全/密碼學 | OpenSSL、BoringSSL、Libsodium、mbedTLS、WireGuard | 常數時間演算法、側信道防護、硬體加速介面 |
C++ 在 C 基礎上提供 **RAII、模板、標準庫、類別/繼承/多型**,更適合:
**實際上**:核心熱點路徑常用「C 風格 C++」(POD 結構、手動記憶體池、內建函式、避免虛函式),邊界層用現代 C++ 封裝介面。
但 **C 的既有代碼庫高達數十億行**,工具鏈、人才、認證體系最成熟,未來 20+ 年仍是基礎設施絕對主力。
C 語言不是「舊語言」,是**計算機系統的通用組裝語言**。掌握 C,即掌握了作業系統、網路、存儲、計算、安全等所有上層建築的基座。無論你最終寫 Java、Go、Python、Rust,懂 C 都能讓你在效能調優、除錯、架構決策上擁有降維優勢。