- 论坛徽章:
- 1
|
有意思
這兩天看看有關It技術的論壇, 全部都是這個話題. "孟岩:Linux之父话糙理不糙","云风:C的回归"一些聳人聽聞的標題霸佔了很多頁面,. 一瞬間,之前還被大家用的爽的不得了的C++成了眾矢之的, 更成為了某些人眼中的垃圾~~~, 在那些人眼中, C++已經就一無是處了, 他們的眼中只有C.
強分彼此, 簡直荒唐可笑.
軟件的好壞和衡量標準是很具體的, 沒有一個絕對的指標的. 而且每種語言都有自己的使用範圍. 超過了這個範圍都會存在不足. 軟件的性能, 穩定程度的要求, 開發成本, 週期都是開發中需要考慮的內容.
在說的近一點, 軟件的好壞, 完全取決於你的設計, 而不是實現語言. 差的設計讓你無論怎樣努力都無法寫出好的軟件, 無論你是用C,還是別的.
c和c++是一對可以取長補短的工具, 當你掌握了合理的設計方法之後, 你就不會介意究竟用的是什麼樣的語言實現.
抽象, 封裝,OO, 泛型等其實都是編程的基本技術和思想, 這本來就和語言無關的內容(當然在不同的語言中會有不同的實現方法). 而在某些帖子中這些內容居然為了C++被人詬病的地方. 可笑至極, 難道用C寫的程序不需要封裝? 不需要抽象?我看過一些用開源軟件的C代碼, 作者用C實現了OO的思想. [注意, 這裡並不是鼓吹OO思想, 只是用來表明基本的編程技術和思想是和語言無關的], 不知道那些貼子的作者看到之後會做何感想?
Torvalds話應該說只是一時的激憤之言(有個人批評了Git一把, 搞得他不爽了. 於是就有了所謂的砲轟~~~). 他是個開發OS的人, C++當然不是最好的選擇, 而且從他的眼光中GIt也有自己的重點(效率), 所以他沒有選擇C++, 而是用了他最熟悉的C, 這也是正常的.
但是最為旁觀者, 不能因為他發明了Linux(不錯的, 不過作為桌面就一般了, KDE/Gnome動不動就當掉, 但那個不是Linux內核的問題!), 就盲目相信他說的一切, 那怕他說了一些沒有道理話. 盲目崇拜, 人云亦云就不是一個好的態度.
C/C++都是很好的. 關鍵看你怎麼用. 如果是你剛剛開始學習C/C++編程的話, 該怎麼學就怎麼學. 不要受Torvalds的話影響.
(寫在最後: C++目前無法開發OS, 一般的原因認為是因為編譯器的問題, 對象的生成在OS內核這個級別效率不足,而且消耗的資源過多. 但是誰又能保證隨著編譯器的進步, 將來不會出現用C++編寫OS內核的情況? 就像當年Unix的發明人用C取代彙編編寫OS的情況一樣, 而在當時, 用C寫OS內核就被認為天方夜譚, 是不可能的. 而最後的情況呢? 現在的OS內核都是用C撰寫的. 套用一句廣告: Nothing is impossible.) |
|