關於C++的感想!

來源:互聯網
上載者:User

其實語言只是一個工具,真正的搞科研的人是不會在乎你用什麼工具的。

很多專家天天用虛擬碼,一樣也是專家,也是高人,牛人!

但是殘酷的現實,工程上的應用,工期,效率這些又不得不逼著你選用最快捷,最適合的工具,從這個意義上說,工具是絕對有好壞之分的。

由於世界上兩大作業系統陣營,windows和Unix都是提供的C或者C++的API介面,UNIX甚至核心絕大部分都是依靠C寫成,而windows 其實大體上差不多。因此毋庸置疑,C/C++是最合適搞電腦開發的語言。

不是因為C/C++有多麼了不起,而是因為何必要去選用其他語言,整天搞資料類型轉換都累死你的,何必嘛!

 

但是我不知道是什麼原因,各大公司對C/C++ 的RAD支援都不是最好的!

 

微軟搞了這麼多年,什麼VB,什麼VJ,什麼C#,F#可以說都已經登峰造極,進入了一個嶄新的時代,只有VC,還在10多年的前的層次上邁步!

一些人人云亦云,說VS2010的VC如何如何,我用了一下,依然是10多年前的水平。儘管有雲端運算,儘管有了LAMDA運算式。但是這些對於RAD開發來說,沒有什麼實質的作用。

 

我一直不懂為什麼微軟對VC的策略會是這樣,就是不讓VC程式員好好活,就是要讓你累死。

不想累死,就用.net吧。但是.net程式的效率,大家也知道。為什麼就不能讓VC程式員也用上RAD呢?我知道MFC很原始,但是這麼多年了,你就不能開發新一套,類似Borland的VCL那樣的控制項陳列庫?

 

微軟的特點就是:讓你越來越慢。VS2010我用了幾個小時,就無法忍受了,那速度慢的簡直無法形容!編譯一個hello world的程式都能讓電腦忙乎半天,搞的做了多麼偉大的事情一樣!我簡直服了微軟!我不知道微軟每次發布新版本的時候,用當時頂級硬體設定給大家示範,同時告訴大家,這個版本效率更高的時候,臉紅不臉紅。下面的聽眾為什麼不丟雙皮鞋上去?

 

我知道微軟會告訴你,RAD開發請用C# ,請用.net庫。至於VC++嘛,寫點控制項,寫點COM,寫點系統DLL就行了。不要用他來開發大項目。是的,我也知道,我們也是這麼做的。但是我就想,既然這樣,你為啥不提供VC++ RAD開發的控制項陳列庫呢?何必創造出那麼多的語言,一個VS版本幾乎就會創造一種語言,這不是沒事找事嘛,語言只是工具而已,就是個符號而已,何必脫了褲子放屁?

為什麼不把VC++ 搞好一點。

 

C++的RAD開發工具VC真的比較爛,難怪很多C++程式員固執的一直用古老的6.0,其實可以理解,2010的VC++和6.0確實沒什麼本質的區別。至少6.0速度比2010至少快一個數量級。用的人多,不過是因為大家看在windows的份上。其實C++ builder 才是真正的C++ 的RAD,但是居然是從Delphi上改寫過來,真是莫大的諷刺,真是搞不懂這些公司!!!

 

我其實什麼工具都用,VC++,BC++,delphi,C#,Java 這些都常用。但是用的越多,我反而覺得真的是把簡單事情搞複雜了。只需要一個RAD開發工具就OK。

 

C#是個非常不錯的東西,但是傳統型程式的效率還是遠不如本地代碼。所以本地RAD開發工具還有很大的需求。而本地開發語言C/C++是不二的選擇。但是居然沒有一個相當讓人滿意的C++ RAD!!這個世界到底怎麼了?呵呵。

BC++雖然讓人滿意,但是他很尷尬,畢竟沒有windows做底子,所以VC很爛,但是用的人還是比BC多,哎,無奈啊。

 

雖然用VC++可以實現幾乎所有功能,速度也很快。但是做工程的時候,不是讓你覺得自己很NB,而是要讓你更輕鬆!工具是讓你變輕鬆的,不是讓你變得一天下來,連個有點特色的視窗都搞不好。

編程越久,這種想法越強烈。

至於做科研,那真的無所謂了,什麼語言都行。

但是工程上,還是需要好的工具。

 

最後說說VC++的學習。很多人都說難學,其實不是難學,是因為MFC比較原始,VC++開發環境也比較原始的原因。

VC++又不是有什麼特別地方,就是微軟C++ 加上MFC,加上一些COM之類的標準。

搞VC++難,難在哪兒?難再你改變一下視窗的大小,都要自己編碼去進行。引入一個資源檔,都要自己編代碼去COPY,轉換,讀取。

其實MFC的封裝太過簡單了,和直接調用API沒多大區別。當然這有一個好處,效率高。也是好事。所以做系統應用,VC還是個好東西。但是應用大一點,需要做比較多的視窗介面,VC就很差了。

MFC其實也不難,和所有類庫一樣,只有一個類一個類去學習,搞懂他有什麼成員,功能是什麼也就是了。這點微軟很好,MSDN基本告訴了你一切,就看你去看不去看了。

Borland這點我一直認為是他的弱項,那文檔,哎,寫的太簡略了。你東西雖好,別個沒法學著用,誰會知道你的好?

 

其實VC現在我認為甚至連MFC也沒有必要學了,你要高效,直接調用API把,你要介面,直接用。net 庫吧。那MFC到現在實際上就是個雞肋!微軟也是這麼想的,所以這麼多年來,MFC版本號碼倒是到了8.0以上,但是內容其實沒什麼大的變化。未來微軟也是直接採用.net 庫作為系統整合組件了。編譯出來的程式甚至比VC都小。

不過.net 那幾十M的Frame 包,這點讓人討厭。不過可喜的是windows 7內建了。到了win7時代,這個問題就不存在了。.net程式比VC都小,COPY過去就可以運行,確實還是不錯的!

 

所以,想到這兒,似乎微軟的策略也是可以理解了,他是要用.net完全代替原有的MFC,所以VC++再搞成RAD,就沒什麼意義了。

只苦了過度時代的這些VC程式員們,你們太慘了!呵呵。

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.