Visual C++老了,不得不讓位
回想當年本賈尼•斯特勞斯特盧普(Bjarne Stroustrup)博士發(fā)明并實現(xiàn)了C++。隨后,在面向?qū)ο笳Z言迅速發(fā)展的時代背景下,C++以其面向?qū)ο蟮恼Z言特性同時對 C語言的良好兼容,并且憑借著接近C語言的效率,C++語言在工業(yè)界使用的開發(fā)語言中占據(jù)了相當大的份額。
#t#在以后的發(fā)展中,C++不斷引入新的內(nèi)容,標準模板庫(STL)和后來的Boost等程序庫的出現(xiàn),泛型程序設計的流行,使得C++牢牢占據(jù)了TIOBE編程語言排行榜前三的位置,成為業(yè)界***的編程語言。
但是,隨著硬件技術的不斷發(fā)展以及Java,C#等新型語言的不斷涌現(xiàn),C++的發(fā)展受到了很大的沖擊,在業(yè)界的應用范圍不斷萎縮。就我們要介紹的 Visual Studio而言,C++曾經(jīng)是Visual Studio 6.0中的***語言,但是在后繼版本的Visual C++的地位不斷下滑,被后來居上的C#搶了風頭。很多鐘情于C++的程序員不僅發(fā)出這樣的感嘆:“C++老矣,尚能編否?”
在剛剛發(fā)布的2008年12月TIOBE編程語言排行榜中,雖然C++仍舊以微弱的優(yōu)勢位列三甲。但是它于第四名PHP和第五名Visual Basic之間不斷縮小的差距,不得不讓人擔心C++這昔日的狀元,是否會終有一日位置不保,迭出三甲之外。
另外,從各種開發(fā)語言最近幾年的發(fā)展趨勢來看,C++近年的發(fā)展也不盡如人意。C++所擅長的開發(fā)領域不斷被其他語言蠶食,所占比例不斷縮小。
真是“屋漏偏逢連夜雨”,回到我們所關注的Visual C++的境遇也是每況愈下。在Visual Sutton 6.0中,C++作為其中的***語言,曾經(jīng)風光無限。但自從微軟推出.NET平臺后,Visual Studio***語言的頭銜就被C#奪去。在Visual Studio所支持的各種編程語言中,C++就像被打入了冷宮。從Visual Studio 6.0到***的Visual Studio 2008,其間經(jīng)過了多次版本更迭,Visual C#不斷推陳出新,就連昔日受到程序員們鄙視的Visual Basic都有很多新的特性推出,但是Visual C++每次都是幾個不咸不淡的小更新,沒有革命性的變化。在Visual Studio所支持的各種語言中,越來越覺得Visual C++是后媽生的:
◆MSBuild不能很好地支持Visual C++項目
◆C++語言本身沒有大的改進,新的標準沒有出現(xiàn)
◆從Visual Studio .net 到Visual Studio 2008,很少有關于Visual C++的更新和改進
◆Visual C++的類圖不能編輯,無法動態(tài)生成代碼
◆可憐的Visual C++ Feature Pack居然要通過SP來發(fā)布,Visual Studio發(fā)布的時候都不等等它
◆IDE很多新的功能只能在Visual C#和Visual Basic中實現(xiàn),例如Visual C++項目不支持“導出模板”等
◆MSDN中的示例代碼很多都是Visual C#的,很少有Visual C++的示例代碼