近期在 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 長期發展的規劃。

文章摘要如下:

  1. 在早期 .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 改進... 等。
  2. 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 也會存在一些差異。
  3. 若你現在 .NET Framework 用得很開心,請繼續安心使用,它屬於 OS 內建,只要在 Windows 支援週期內,.NET Framework 就會一直保有技術支援。 除非你需要 .NET Core 的新特性(或有人員背景、技能養成等考量)再考慮移植,若系統有用到 WebForm、Workflow、WCF... 等舊技術,留在 .NET Framework 也無妨,砍掉重練必有成本,請自行評估。
  4. Visual Studio 會不斷改善開發者體驗,也包含 VB 開發者,例如新加入的 IntelliCode for Visual Basic。
  5. Visual Basic 是個偉大語言,也是高生產力的開發環境,未來 .NET Framework 與 .NET Core 仍會涵蓋 Visual Basic,惟將以穩定與相容為主。

由 VB Team 說法,我歸納出以下結論:

  1. Visual Basic 在語言方面將不再加入新特色,未來發展重點以穩定性、相容性為主。
  2. 如果你目前用 VB.NET 寫 .NET Framework 程式寫得很開心,倒也不需庸人自擾擔心某天 VB.NET 被丟包。只要 Windows 活著一天,.NET Framework 與 VB.NET 便會一直保有技術支援。
  3. 如果你想應用 .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

Post a comment


77 - 33 =