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

深度剖析 C++ 開源程式發展歷程

     編輯:C++ 入門

C 語言與開源運動的共生關係

C++ 開源程式在開源世界的分量與 C 語言相比相差甚遠。回顧歷史,C 語言成為工業級程式設計通用語言,使開源運動的出現與初期發展成為可能;說 C 是開源運動之母並不為過。但 C 語言統治地位的獲得,其實是早期開放軟體運動的直接結果。

歷史的偶然性

許多人將 C 的成功歸結為天命,實則 C 只是幸運搭上早期開放運動的快車。當時 Pascal、PL/X 等語言同樣具備高效能、可移植、系統開發能力強等特點。若 Pascal 有類 UNIX 的開放平台在校園流傳,或 IBM 未將 PL/X 限定在自家研究所,程式員社群的圖騰可能就不是貝爾實驗室的兩位大鬍子了。

C++ 在開源領域的慘狀

相比之下,C++ 在開源世界分量遠遜於 C,但工業界地位不輸 C,這種落差令人震驚。2000 年前工業統治地位掩蓋弱點;今天 C++ 開源基礎薄弱已成致命傷。社群流傳「C 萬壽無疆,C++ 無壽無疆」,根本原因在於編寫高品質、可復用的 C++ 程式庫太難:開源專案品質不佳且強制風格;作者貢獻開源需極強意志,面臨無商業回報與嚴厲批評。開源文化未能在 C++ 深深扎根。

標準化後的復甦

儘管如此,C++ 社群規模、實力與創造力仍難被新興語言比擬。標準 C++ 制定後,編程風格有明確指導,開源專案大幅繁榮,已有令人欣慰成果。開源程式庫與工具集對 C++ 甚至比 C 更重要——無良好基礎設施,C++ 開發成功機率極低。寫好程式庫極難,但有了好程式庫,寫應用程式相對容易;C++ 特性要求基礎設施原始碼必須開放,故程式庫意義重大。

程式庫開發與應用開發的鴻溝

編寫可復用程式庫所需的高超技術、豐富經驗與權衡能力,極少人具備。C++ 對程式庫作者要求最高,遠超一般開發者水平。即使大師也需多年打磨。Andrei Alexandrescu 嘆:「少年天才滿目皆是,白髮優秀程式庫設計者鳳毛麟角。」另有作者總結:可復用 C++ 程式庫不可能是設計出來的,只能是復用出來的。一旦優質程式庫構建完成並為人熟悉,將大幅簡化應用開發。Stroustrup 2000 年後無數次呼籲專注程式庫開發——只有程式庫能救 C++、發展 C++。

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