VC++ 學習筆記(二):VC++與C、VB和C#


  羅馬不是一天建成的,VC++的也不是憑空產生的——它一直標榜自己的從C發展而來的。VB好像是專門為了羞辱VC++而創建的。C#呢,是微軟類C語言的新秀——其實也不新了。亂吧?貌似挺亂的,其實這里有章可循。

  純粹的C++是從C發展而來的,是要用OO這個理念來度化廣大C程序員,讓他們離苦得樂的。純粹的C++語言很單純,很好,不像VC++那么面目可憎。但是,語言都離不開類庫和開發環境,否則就不足夠復雜,不足以處理復雜的大系統。我剛剛看了STL,內容太少。MFC才能滿足日常所需——有人跟我提過QT,我沒玩過,暫時也不想玩。但是MFC貌似太復雜了,是的,不是太困難,而是太復雜。它把太多東西暴露給開發者,還告訴開發者可選,這其實很操蛋。每個人都有選擇綜合症!!!這又契合了我的口頭禪——沒有復雜性,不足以解決問題;有了復雜性,我們的多數經歷都被消耗在復雜性帶來的副作用上。

  VB是據說這個地球上用的最多的語言,我不想去考證這一點。但是我能理解,因為它簡單。並且它的子集被用來作為Office套件的粘合劑(VBA)。還是PowerShell出來之前,Windows許多內嵌腳本的官方語言(VBScript)。照我來說,VB最適合非應用軟件開發人員啦。“不要問我從哪里來,我的故鄉在遠方”。用就行,別問那么多。它的簡單照亮了VC++的笨拙和臃腫。

  C#是個好語言,也是我之前用得最多的語言。它也摒棄了C++的復雜性,舍棄了一堆一堆的宏定義。將所有的數據和操作都拿類包裝起來,不說再說什么全局的。也不再分什么頭文件和實現文件。它的設計理念是盡量簡單、自然,易於理解和使用。把庫建在大一統的.Net Framework上,使用Visual Studio這個微軟獨有的IDE,不讓你多花一點力氣在跟主題無關的事情上。它被垢鄙的地方主要是性能問題,當然這是VC++的主場。但我想說其實考慮了性能、並做了適當優化的C#程序並不差,適合大多數情形。讓我YY一下,我覺得花同樣的時間,C#的程序員的代碼質量會稍微高些,因為打擊他們自信心、分散他們注意力的東西太少了。

  與C相比,C++有了面向對象這個利器,使它在建模和代碼復用等很多方面有了突飛猛進。但它保留了大量的宏定義,以及全局函數。甚至還有意打破封裝,搞出了友元這種機制。從C++到VC++,不單是多了個IDE和MFC類庫,它還搞出來一堆的基礎類型。此外它修改甚至隱藏main函數,讓人如墜霧中,實在可惡。

  但是,一好遮百丑。希望它宣稱的性能能夠讓我們願意承受這些苦痛,阿門!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM