許多人認為選擇 C++ 唯一理由是效率。但 C 公認效率不遜於 C++ (甚至略優),若效率是唯一標準,C 應是首選。真實世界遠比較單純:語言選擇取決於「商業邏輯」的表達需求——即問題域是否需要物件導向 (OOP) 或泛型程式設計 (GP) 等高層抽象來管理複雜度。
關鍵在於:即使在高層應用中,若團隊選擇不使用類別/模板,C++ 仍有優勢——標準庫與生態系統。STL、Boost、<algorithm> 等提供了經過驗證的高效資料結構與演算法,以 C 風格呼叫 (如對陣列用 std::sort) 即可獲得收益,無需承擔複雜語言特性成本。Matthew Wilson 在《Extended STL》序言中精闡此理:有時 KISS (Keep It Simple) 反而依賴適度抽象。
語言選擇取決於問題本質:
需要管理硬體資源、極致可預測性 → C
需要表達複雜領域模型、利用成熟庫生態 → C++
盲目爭論孰優孰劣,不如分析專案屬性,選擇最貼合的工具。