為什麼開源軟體絕大部分都是C語言寫的,而商業軟體大多數是C++開發的?
01-01
以前Linus噴過C++一次。其中一部分意思是C++的style太多,而且library/framework也太多,不同水平的程序員寫的相互看不懂。而C則單純許多。找不到這麼多高水平C++的情況下,為了開源社區的高質量,索性不允許C++。而C++的開發效率確實比C高,公司內部合作也簡單許多,就那麼幾個人,統一一下也方便。
其實也不是這樣,死啃著C的似乎主要是GNU一系。像KDE、Qt那一系都是C++派的。我接觸的生物學軟體也都是C++更多。GNU之所以選C,我猜測主要是因為當初C++並不完善(C++的標準03年才搞好,而C語言89年就很和諧了)。而且C++現在也有很多根本性、設計理念上的問題。GNU最大的問題是:沒有足夠迅速地推出一個中間語言,以掩蓋直接用C開發的複雜性。
因為從c++的本質講就是解決閉源軟體開發的時候,責任界定的問題。
其他的那些特性都是因為閉源以後,想吹得多高大上都行,附加上去的語法糖。
GitHub上最火的開源項目及編程語言:JavaScript奪冠
推薦閱讀:
※成為一個優秀的程序員,一定要精通C/C++嗎?
※如今存在用機器語言編寫出的程序么?
※你工作中最推薦的 C/C++ 程序庫有哪些,為什麼?
※ACM 怎麼樣零基礎到入門?
※現在 C 語言可以設計 FPGA 么?