.NET 3.5 於 11/07 發布 .NET 3.0 於 11/06。為什麼大多數人仍在使用 .NET 2.0?
人們一直在開發自己的解決方案來解決以下問題:
- 用於遠端資訊交換的一致消息傳遞框架(webservices、rpc、…)
- 用於有限狀態機和工作流等狀態管理的 SDK
- 身份驗證框架
- 以及更多。
兩年多來,Microsoft 提供 .NET 3.0,其中包含一致且有據可查的所謂的工作流基礎、通信、身份驗證和建構 Web 應用程序的新方法。
然而,……人們仍在建構自己的框架,使用一致的對象關係映射來處理他們的數據庫,擁有在執行時動態擴展類和方法的技術(例如,讓客戶能夠自定義應用程序行為)。
一年多來,Microsoft 提供了 .NET 3.5,其中包括 LINQ,因此是一個很好的 ORM 和很好的方法來擴展您的程式碼,並且畢竟使編寫程式碼更容易。
但是環顧四周……似乎大多數人仍在使用.NET 2.0。網站是用普通的 ASP.NET 創建的。桌面體驗仍然是通過 CSS、JavaScript 和 HTML 的組合來實現的。執行檔使用普通的舊 WinForms,工作流通過委託、事件、do/while 和 switch/case 實現。
沒有太多討論,我很高興看到以下問題的具體原因:
在您看來:為什麼人們不跳上 .NET 3.5 的火車?
- 需要學習新東西,許多“只是一份工作”的 LOB 開發人員不會被打擾。
- 遺留程式碼投資,可能不需要自定義系統,但它們可以工作,如果現有系統沒有損壞,重新編碼以使用基於框架的系統是浪費時間。
- 開發軟體成本。在 .net 3.x 中有效編碼確實需要 VS2008。從 2005 年開始,將整個開發團隊升級到該團隊可能會花費很多。
- 穩定。2.0 是 1.1 框架的演變。3.0 和 3.5 包括新的 v1 技術(您列出的那些)。開發人員希望看到技術在向經理證明其值得一試之前證明自己。與採用 Windows 一樣,您可能會看到更多的人從 VS2005 轉向 VS2010 和 .net 2.0 到 .net 4.0,因為這將包含 3.x 技術的 v2。
出於同樣的原因,我知道仍然使用 Java 1.4 編寫程式碼的 Java 開發人員——改變是昂貴的,而且對於那些在公司內部工作的人來說,完成它比使用新技術重要得多,這通常是毫無意義的。
對於很多內部工作來說,升級舊應用程序以在新環境中工作幾乎沒有理由。
此外,大型公司不喜歡出於各種穩定性問題而進行任何形式的更改,您仍然會發現他們做出在新解決方案中使用舊技術的決定僅僅是因為他們認為新技術不夠穩定,對它了解得不夠多,或者他們所依賴的軟體沒有足夠的支持它。
而且,我從未使用過它,所以我不能說,但可能是 .NET 2 足以滿足人們的需求,而 .NET 3.5 並沒有提供足夠的東西來保證學習/改變是參與其中,即使對於那些擁有更尖端技術的公司也是如此。