首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

系統語言的雙刃劍:C、C++ 與 D 的權力與責任

     編輯:Java 相關知識

系統語言的核心信條

系統語言服務於底層系統開發,其理念是:「優化機器時間而非人時間,優化機器記憶而非人記憶;假設編譯器愚蠢、程式設計師聰明,賦予程式設計師更多權利、義務與責任。」

C 語言:歷久彌新的寶劍

源自 Unix 開發,以良好抽象性與可移植性取代組合語言。雖有寬鬆類型檢查、易錯記憶體管理等缺點,但在嵌入式、作業系統核心等領域仍佔舉足輕重地位。若能借鑒 C++ 的命名空間、重載、異常處理、STL 等非 OOP 特性,生命力不輸任何 OOP 語言。

C++:無韁無鞍的野馬

兼容 C 是成功關鍵,但也繼承了其缺陷。被詬病處:語法複雜、標準庫不全(缺 GUI、網路、資料庫、多執行緒)、無自動垃圾回收、自省功能弱、非 100% OOP。但冒號老師為其辯護:複雜源於成熟與承擔更大責任;RAII 慣用法與智慧指標可優雅解決資源管理;指標對底層操作不可或缺;OOP 非含量越高越好(Java Math 類全是 static 方法即是諷刺)。

D 語言:被遺忘的優等生

提供可控垃圾回收、執行緒同步、動態陣列、嵌套函數、契約式設計、廢除頭文件——皆為 C++ 程式設計師夢寐以求。苦無大廠青睞,只能「待字閨中」。

效能永遠重要

縱向看:用戶耐心與電腦效能成反比;橫向看:資源佔用大者競爭力弱;特定領域(AI、大型計算、嵌入式)對效能有極致要求。C++ 是匹野馬,「若能順性而御,必能足踏飛燕,行千里而不勞」。

系統語言演進
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved