大多數企業用的開發語言,莫過於C++了,但是隨著科技地發展,其他的編程語言也在慢慢的進入用戶的視野,那麼這三種開發環境並不一定說哪個程序比哪個程序要好,但是目前還是C++開發環境占主流。
一個古董級的開發環境,說他是古董是因為很少有軟件用那麼久還有大量的用戶在使用,有點像當年的Borland公司的tc。vc6.0用微軟在開發環境上的首次突破,是帶有歷史意義的。由於vc6.0的出現,使微軟打破的長久以來被Borland公司的C++ builder獨占C++開發環境的局面。
VC6.0界面簡潔,軟件運行效率高,使得他成為的大家都最愛。其實就用vc的後續版本,現在微軟已經把它出到了vs2010。每年更新一次版本,可見微軟對vs的雄心壯志。系出我軟件,所以比起其它開發環境有著得天獨厚的優勢。
對自己操作系統的完美支持,豐富的功能集成,使得他成為的大量程序員的最愛。BCBBorland的公司的傑作。特別是BCB6.0很是值得一提,看看市面的關於C++ builder相關的書就知道,幾乎所有的書都是根據6.0寫的。
比起微軟的作品,BCB有著她獨有的魅力。像vb一樣的高效的開發環境,高度集成的控件可以滿足我們大部分的需求。雖然BCB所開發的軟件運行效率比不上微軟的,但是使用它開發軟件可以節省我們好多的時間。當前硬件發展的如此之快,BCB與vs的效率幾乎是感覺不出來的。
使用vs可以提高軟件運行效率,但是使用BCB卻可以節約我們的開發時間。如果是個小程序BCB的開發時間是相當短的。BCB提供的控件相當豐富,操作又想到簡單,使得它能節約相當多的時間。
微軟的MFC框架是一套相當復雜的模型,用BCB則完全跳出來MFC框架。在計算量大且軟件界面沒什麼要求的情況下完全可以使用vc6.0,要求再高點的話就可以使用vs,如果時間緊且對界面要求高,我很是建議大家用BCB。
單純的比較開放環境其實是沒有多大意義的,具體的選擇還得看大家的個人習慣及工作環境。開放效率和運行效率本就很難兩全齊美,就如同用sdk開發軟件肯定比用mfc開發出來的運行效率高,但是大家卻很少有人去用sdk開發一樣。開發效率和運行效率只能有開發的要求去權衡,單純的說哪個好求實是無稽之談。
這篇文章本來發的很早了,寫的也一般,只是今天無意間看到了網上一篇2003年的關於vc和bcb開發軟件在執行效率上的比較,感慨一下,又把這篇改了一下。單純的比較執行效率是一件愚蠢的事
但看了無數篇闡述C++復雜性的文章,和爭論C++復雜性的吐沫星子包括我前段時間寫的兩篇關於C++的總結)。我始終都有一個感覺——沒分析透,就跟盲人摸象一樣。正如“Why C++”的一位讀者批評的,我在文章裡面沒有寫明到底哪些是C++的“非本質復雜性”。
當然,我自己憑感覺就能知道,而接觸C++一段時間的人大致也能知道,但新手乃至非新手則對我所謂的“非本質復雜性”根本沒有一個具體的認識,這就使得那篇“Why C++開發環境”脫離了原本的意圖——面向所有C++使用者和學習者。
同樣的原因,在寫了“你應當如何學習C++”一文之後,當孟巖先生邀請我給《程序員》寫一個系列的文章,介紹一下我在接觸C++的過程中的態度和認識轉變時,我雖然非常高興的答應了,但直到現在3個月過去了還是顆粒無收。
為什麼?因為我覺得真正本質的問題沒有被清晰的觸摸到;所以直到現在我都沒有動筆,免得廢話說了一大堆,除了能被當成小說讀讀之外,對真正考慮是否要學習乃至使用C++開發環境的人未必有什麼實際用處。
然而,這麼個念頭一直都放在潛意識裡面。前一陣子和Bjarne通信,談到了關於C++復雜性的一些想法,在郵件裡面總結了一下C++的復雜性來源,感覺思路清晰了許多。而這篇文章要達到的目的,正是傳達對C++的復雜性的一個具體而明確的認識,有了這個認識作為支持,我們便可以推導出學習C++的最佳實踐者)的方法。