閒聊 - 關於 VB.NET 的未來
| | 0 | |
近期在 2019 年的舊文 - 閒聊 - VB.NET 與 C# 黃金交叉?看到新留言,好奇心再起。
一年多過去,.NET 5已於去年 11 月問市,VB.NET 的發展現況有沒有改變呢?
查到 2020 年 5 月 VBTeam 有篇部落格文章 - Visual Basic support planned for .NET 5.0, 來自 VB 開發團隊的觀點自然具有指標性,甚至可視為權威說法。該文原意是介紹 VB 對 .NET 5 的支援,更值得觀注的是 VBTeam 對 VB.NET 長期發展的規劃。
文章摘要如下:
- 在早期 .NET Core 版本,VB.NET 只支援 Class Library 及 Console 兩種專案。.NET 5 起 VB.NET 支援更多類型專案,包含 WinForm、WPF、Unit Test... 等,用意在於讓 VB 開發者能順利將應用程式移植到 .NET Core/.NET 5,以享受新一代 .NET 平台的新特性如:Side-By-Side 部署、跨平台、效能提升及 API 改進... 等。
- Visual Basic 語言的優勢在於歷史悠久成熟穩定,由其擁有眾多支持者便足以證明。但是,未來 VBTeam 不會將 Visual Basic 視為程式語言發展 (原文為 Goging forward, we do not plan to evolve Visual Basic as a language. 這段宣言蠻震憾的,引起 VB.NET 支持者不少反彈),Visual Basic 將聚焦於穩定性及與 .NET Core 及 .NET Framework 相容。Visual Basic 可能不會支援一些需要程式語言配合運作的 .NET Core 新特性,且因平台差異,.NET Framework 跟 .NET Core 的 Visual Basic 也會存在一些差異。
- 若你現在 .NET Framework 用得很開心,請繼續安心使用,它屬於 OS 內建,只要在 Windows 支援週期內,.NET Framework 就會一直保有技術支援。 除非你需要 .NET Core 的新特性(或有人員背景、技能養成等考量)再考慮移植,若系統有用到 WebForm、Workflow、WCF... 等舊技術,留在 .NET Framework 也無妨,砍掉重練必有成本,請自行評估。
- Visual Studio 會不斷改善開發者體驗,也包含 VB 開發者,例如新加入的 IntelliCode for Visual Basic。
- Visual Basic 是個偉大語言,也是高生產力的開發環境,未來 .NET Framework 與 .NET Core 仍會涵蓋 Visual Basic,惟將以穩定與相容為主。
由 VB Team 說法,我歸納出以下結論:
- Visual Basic 在語言方面將不再加入新特色,未來發展重點以穩定性、相容性為主。
- 如果你目前用 VB.NET 寫 .NET Framework 程式寫得很開心,倒也不需庸人自擾擔心某天 VB.NET 被丟包。只要 Windows 活著一天,.NET Framework 與 VB.NET 便會一直保有技術支援。
- 如果你想應用 .NET Core/.NET 5 的新技術,如 ASP.NET Core、Razor Pages、Blazor,選 C# 才擁有完整支援,VB.NET 能支援的項目不多,且會以移植現有程式(WinForm、WPF)為主。註:這篇官方文件 有完整的 C#、VB.NET、F# 支援 .NET 5 專案類型清單。
如果要用一段話總結 VB.NET 的未來,我的解讀是
若你目前在寫 VB.NET Windows 程式,請安心繼續使用,毋須擔心支援中斷。若想擁抱 .NET 5 的新技術,選 C# 可保通行無阻。
【後記】
之前一直好奇 C# 與 VB.NET 開發者的比例卻苦無參考數據,只能由 Google 結果、職缺數量旁敲側擊推估。 這回查資料過程意外找到有力數據。 依據 2017 年這篇微軟部落格 - The .NET Language Strategy:
C# is used by millions of people. ... Visual Basic is used by hundreds of thousands of people.
依 .NET Team 掌握的資訊 - C# vs VB.NET 的開發者人數比例約為 數百萬 vs 數十萬,頗符合其他管道觀察的結果。但這都無關 VB.NET 或 C# 誰比較優秀,還是老話一句,這是信仰等級的議題,誰也說服不了誰,討論一輩子都不會有結論,把力氣省下來精進自己選擇的技術,讓自己活得更輕鬆自在比較實在。
From the viewpoint of VB team to see the future of Visual Basic.NET.
Comments
Be the first to post a comment