.net沒落了嗎?
從正面回答來說,我不認為 .NET 沒落了。「沒落」一詞指的是逐漸退出歷史舞台,而 .NET 則正相反,輝煌的時候剛開始沒多久。
2.0 版的 .NET 是不夠完備的,但 4.0 版對原有內核的改進,以及對集合和 ORM 的內核級支持,再到 4.5 版的非同步編程的更新;微軟自 Vista 操作系統開始內置對它的支持,Windows 8 中已內置 .NET 4.5:我們看到微軟在持續地更新這個產品,並期待用它來構建一個與普通開發者距離更近的開發平台。同時,儘管使用 C++ 開發 MFC 應用的模式會繼續發展,但 .NET 確有它的市場需求,它對快速搭建企業應用很有幫助。此外,題主打上了 http://ASP.NET 的話題,就 Web 開發方面而言,微軟對 .NET 的重視也可見一斑。http://ASP.NET 4.5 中新添加的 Web API 和 MVC4 等新特性都是開發的利器,從開發模型平台的層面解決了很多之前需要開發者自主來解決的問題。微軟依然在努力維護並改善這一產品。
題外話,我們知道,Google 使用 python 來構建它的 Web 伺服器腳本端,以前使用 Java,因為 python 夠酷。對於微軟來說,http://ASP.NET 是自己的優秀工具,顯然他也要繼續維護這個曾經、以及以後也將繼續 Host 他自己服務的 Web 平台。
關於與 PHP 等其他 Web 開發方式的比較,我就不發表看法了。一種技術有其長處自然也有其短處,只要符合生產需要就是好工具。我們也有可能因為某一種工具到一定時期不再符合生產需要而不再使用它,但,我不支持「孰好孰壞」的比較結論。
關於跨平台,.NET 在 Linux 平台有 Mono 作為強大的社區開源兼容版本,同時免費的 IDE 有 MonoDevelop,如果有這方面需求,不妨試試。Mono 項目受微軟支持,版本特性上,已同步支持至 .NET 4(http://ASP.NET MVC 3)。學習、並親自嘗試過使用 C# 開發應用程序的人們,如果他們也用過其他語言平台來開發,比較之下,便能發現這門編程語言之優美。
不論學習哪一語言或平台,都要充分實踐並體會提高之後,才能體會其價值。聲明:我不希望此文成為口水仗的源頭。請明確,誰都可以喜歡一種東西,也可以不喜歡一種東西,各自的自由而已。.net大趨勢是上升,時快時慢而已。.net入門容易,有大批初級低薪程序員,就基本能完成項目,這也是.net有競爭力的一個方面。如果你抱怨.net工資低,不妨問問自己到底有沒有真正懂它,或者比起北大青鳥的速成生強多少
沒落談不上,就我工作的環境來看,除了像一些安全性要求特別高的項目會用java,其它的項目使用的技術基本都是.net,當然還有一些做網站開發的會用到php之類的語言,就蘇州而言,做.net開發的公司有很多,其實關鍵還是.net程序員越來越多,壓力會大,就業更困難而給人的一種印象,其實從oracle收購Java之後,java語言的創始人詹姆斯·高斯林也被google挖走,java的前景也不是太明朗。其實只要自己技術過硬,也就不需要擔心這些了,各種語言都有存在的意義,也算是相通的。
從語言的角度來說,C#正在漸漸地拋開Java。但從平台的角度來說,.NET 又漸漸落後於JVM。
雖然.NET的工資平均起來不是很高,但說什麼沒落,為時尚早。你到TIOBE上看.NET語言的份額即知。
.net平台與其下的主力語言之一C#都是相當有競爭力的技術,.net的類庫非常完善,c#的語法特別的優美,除了個別情景(例如python有個「修飾」語法,c#沒有相應的實現;prolog可以20行代碼解決數獨問題,其它大部分語言都沒這個能力),C#不輸於任何語言。VS貌似也要優於其它技術常用的IDE。可惜,現狀是,在國內,頂級的網站,極少採用.net的。百度、騰訊、淘寶、新浪、搜狐、網易幾乎清一色PHP……只有幾大電商有用.net的,但也在轉。
.net 問世10多年,曾經還是很輝煌的。
但是最近3~5年,移動、雲的崛起,而微軟自己犯了不少錯誤:
1 Windows embed、Phone 7不支持了。
2 Silverlight 5後也安樂死了
3 工具類收費太貴,起點高:如VS IED
4 和開源不親近,導致大量的JAVA相關的開源東西蔓延。
5 Windows、Windows RT、Windows Phone 8 竟然3個不同架構的操作系統
.....
微軟好的一點呢,近1年變化顯著,尤其是新的CEO上台後,高舉」雲+移動",並讓我們執著於.net技術的人們看到了希望,如Build 2014的幾個亮點非常誘惑人,過去了1個半月了,微軟確實在往好的方面轉變:
微軟在三藩市舉行了 2014 年度 Build 大會。這一屆
Build 大會太受注視——因為在2013 年,諾基亞被微軟收購了,代表了微軟要在移動領域發起摩拳擦掌之勢。
- 語音助手 Cortana
- Windows Phone 8.1正式發布
- 9″ 以下的 Windows 平板、手機機型,Windows 與 Windows Phone系統授權免費
- 企業市場(桌面、移動端):未來發力的黑馬。
- Lumia930和630
- Xbox、Kinect V2 for Windows
- Universal Windows Apps
- DirectX 12
- NET Native:Project N」的項目 懷疑? 真的能編譯得和C++一樣嗎?
- Windows 跨平台應用開發:Xamarin
- Windows 8.1 Update1: 開始菜單回歸
- WinJS開源
- Visual Studio 2013 update 2 RC更新
- 新版物聯網Windows免費發布
怎麼說呢,我個人從事.net研發10年了,周圍確實有不少人轉JAVA了,但我自己不打算轉,繼續在.net陣營下奮鬥,歡迎大家前來交流.net話題和.net控制項使用問題:葡萄城產品技術社區 不見不散。
飛信的後台以前是.net,2010年開始轉向java,伺服器轉向linux。.net的缺陷主要是不跨平台,與windows綁定太緊,收費貴。在後台研發上,這條路會越走越窄。
頻繁更新,面目全非,走火入魔,不建議學
那你覺得object c興起了嗎,各種語言都在自己的領域裡起著作用,.net在辦公管理類軟體中還是有相當的市場份額。
挺看好MS在以後的發展的,雖然在移動方面慢了些,但MS在操作系統中的地位在短期內是無法撼動的,所以就前景來說還可以。
許多大公司產品內核 由.net轉成java 大型項目.net身影越來越少 甚至從程序員的薪資看的出來 。。。。
大型應用使用.net的確實從來就不多。但是從數量上看的話,.net平台中小型應用正在越來越多。相信隨著win7+的普及,數量增長還會越來越快。
推薦閱讀:
※如何閱讀CLR via C#?
※如何評價 ASP.NET vNext?
※C#的前景怎麼樣? 真的沒落了嗎?
※CoreCLR 和 CLR 的差別很大嗎?
※WPF中如何通過數據綁定使用ProcessBar控制項?