【轉】週末閒談:C and C++, why use c++?

看到這篇文章,深有感觸,c++又不是附庸風雅的東西,被濫用也就罷了,還要。。。

轉自http://www.cppblog.com/cool-liangbing/archive/2009/03/28/78116.html

      問起c與c++區別,常常從語法上回答,c++是帶類的c,再深入可能提到設計方面,面向對象設計支持,範型設計等等。
      問起爲什麼使用c++?能使用面向對象設計來取代過程式設計,可能是最多的回答;還有就是c++可以寫大項目,在控制大系統上有優勢。
      以上回答有問題嗎?不知道,別人若問我,我也這麼回答。
      從2月份開始,一直在開發網絡行爲審計系統高性能版,我們也叫大流量版本。是在以前普通版上進行重新設計,採用分佈式、多進程、多線程來最大化利用memory、CPU,提高系統吞吐量。
      在架構設計確定以後,就是進行詳細設計和開發,因爲有普通版,當然是進行重構或重寫。普通版也是使用c++編寫的,g++編譯,我使用VIM開發。
      設計風格呢?有class無OO設計,還是個過程式的東西----這種風格太常見了,大文件、大函數、廢代碼成堆出現,不安全的指針操作,忘記資源釋放等等。
      這種現象我在所工作幾家公司都發現了,讓我頭痛,也讓我練就了一手好的重構技術,現在基本上面對這種代碼,我能處亂不驚了。
      ----這種現象,讓維護成本成倍增加以至於系統腐爛。是c的錯,還是c++的錯?是面向過程的錯?還是面向對象的錯?

      開發語言沒有錯,用c開發,我既可以進行過程式設計,也可以進行面向對象設計,即結構體+函數指針來表達類,函數指針來表達多態等。
      設計風格沒有錯,其實不管面向過程設計還是面向對象設計,系統架構設計、模塊化首先要做好,對功能內聚性理解要清楚;不然,時髦的面向對象設計也沒有什麼用。
      現實中,我們所設計的類,不會是圖形Shape與圓,馬與白馬關係那麼簡單,你不可能很容易得出一個唯一的設計答案。

       why use c++? 我感覺最簡單的答案就是公司已經用它,那進公司就得用它,沒有那麼多廢話,這就是最最簡單的管理----服從。
      用了c++就能寫出好系統、大系統嗎?不能。語言解決不了設計人員和開發人員本身素質問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章