標籤:
根據育龍網資料評價顯示:C#幾乎集中了所有關於軟體開發和軟體工程研究的最新成果:物件導向、型別安全、組件技術、自動記憶體管理、跨平台異常處理、版本控制、代碼安全管理……。儘管像很多人注意到的一樣,羅列上述特性時,總是讓人想到JAVA,然而C# 確實走得更遠。但現實的情況是,非技術的因素往往更能決定一個產品的未來,尤其在電腦軟體的曆史上,技術卓越的產品,如OS/2、Mac OS、UNIX等,都敗在了Windows漂亮的介面上。JAVA的使用者主要是網路服務的開發人員和嵌入式裝置軟體的開發人員,嵌入式裝置軟體不是C# 的用武之地,而在網路服務方面,C# 的即時編譯和本地代碼Cache方案比JAVA虛擬機器具有絕對的效能優勢。何況C# 一旦成為一個像C++ 一樣的公用的標準,軟體開發商既可以省去JAVA的許可證費用,也不必擔心成為微軟的奴隸,那些反微軟的人士和主張廠商獨立的人士可能也不會有什麼意見。這可能正是微軟所期待的。
如果把C# 和 JAVA 在網路服務領域的爭奪比作未來制空權的爭奪,那麼C# 和傳統通用快速開發工具——VB、DELPHI等的較量將是地地道道的白刃戰。可能最慘的程式員就是VB程式員,在微軟,VB就像離任的克林頓,不但失去了所有的光輝,而且亂事纏身。
實在程式設計語言中真正的霸主多年來一直是C++,所有的作業系統和絕大多數的商品軟體都是用C++作為主要開發語言的。JAVA的程式員絕大多數也是C++的愛好者,PHP的成功裡面也有類似C++的文法的功勞。在作業系統、裝置驅動程式、視頻遊戲等領域,C++在很長的時間內仍將佔據主要地位,而在數量最大的應用軟體的開發上,C# 很可能取代C++的位置。首先,C# 和JAVA一樣,簡直就是照搬了C++的部分文法,因此,對於數量眾多的C++程式員學習起來很容易上手,另外,對於新手來說,比C++要簡單一些。其次,Windows是占壟斷地位的平台,而開發Windows應用,當然微軟的聲音是不能忽略的。最重要的是,相對於C++,用C# 開發應用軟體可以大大縮短開發週期,同時可以利用原來除使用者介面代碼之外的C++代碼。
但是,C# 也有弱點。首先,在一些版本較舊的Windows平台上,C# 的程式還不能運行,因為C# 程式需要 .NET運行庫作為基礎,而 .NET運行庫作為Windows(XP及以後版本)的一部分發行, Windows Me 和 Windows 2000使用者只能以Service Pack的形式安裝使用。其次,C# 能夠使用的組件或庫還只有 .NET 運行庫等很少的選擇,沒有豐富的第三方軟體庫可用,這需要有一個過程,同時各軟體開發商的支援也很重要。第三,JAVA的成功因素裡有一些是反微軟陣營的吹捧,雖然“唯寫一次,到處運行”只是一句口號,但畢竟已經是一種成熟的技術。而C# 的鼓吹者只有名聲不佳的微軟,且只能運行在Windows上。實際上這兩種語言都不是不可替代的,理智的說,對軟體開發商而言,什麼用的最熟什麼就是最好的工具。尤其對C++的使用者,C# 沒有帶來任何新東西,因為.NET運行庫在C++中也可以使用,沒有要換的絕對的理由。
C# 將不可避免地崛起,在Windows平台上成為主角,而JAVA將在UNIX、Linux等平台上成為霸主,C++ 將繼續在系統軟體領域大展拳腳。非常有意思的是,這些語言的文法極其接近,因為JAVA和C# 都是由C++發展而來的。其他的開發工具當然還會在相當長的時間裡繼續他們的旅程,不過在市場份額上,將不可避免地受到衝擊。
c#發展前景