Categories
科技報導

Visual Basic 永遠29歲 微軟宣布不再發展這門語言



近期,微軟 NET 團隊在開發者博客中宣布,他們雖然還會繼續在 .NET 5.0 上支持 Visual Basic ,但不再將 VB
作為一門獨立的語言發展(Going forward, we do not plan to evolve Visual Basic as a
language)。

Visual Basic 永遠29歲 微軟宣布不再發展這門語言 1

.Net 5 是一套可以為Windows、Linux、macOS、iOS、tvOS、Android、Web 等提供統一運行環境,橫跨雲端、IoT、本地遊戲等的大迭代版本,由微軟在去年Build 大會宣布,並在今年的3 月17 日發布了第一個預覽版本。

Visual Basic 永遠29歲 微軟宣布不再發展這門語言 2

第一個預覽版本

NET 5 VB 將支持類庫、控制台、Windows Forms、WPF、Woker Service 和 ASP.NET Core Web API。

“展望未來,我們不打算繼續演化VB 這門語言,而是將精力放在改進穩定性、以及保持 .NET Framework版本和.NET Core 的兼容性。”當然由於平台差異,VB 在兩個版本上會逐漸展示出差異。

VB 也曾輝煌

VB 曾經也輝煌過,它是第一個支持可視化界面設計的語言。

VB 的前身是 Quick BASIC ,由微軟公司在 1987 年推出。若再往前追溯,Quick BASIC 還是 BASIC 的繼承者。 BASIC 語言誕生於 1971 年,設計目的就是面向初學者,其時的 Fortran 和 Algol 60 語言很難被非理工科生掌握。

Quick BASIC 是 DOS 下的開發語言,後來隨著 Windows 系統的推出加入了圖像化設計,1991 年 4 月,微軟將新的版本改名為:Visual Basic,一經問世,便得到許多程序員的青睞。 1998 年發布的 VB 6.0 是一個應用非常廣泛的版本。

然後.NET 時代來了。 2001 年,VB 遷移到了.NET 平台上,取名 VB  .NET。 VB  .NET 對 BASIC 語言特性進行了重大改進。

但也是這個版本割裂了 VB 的陣營,一部分開發者去用了.NET 版本,另一些則堅持使用過去 VB,如經典的 VB6。開發者表示兩種語言差別頗大,前者更像 java,更面向對象。

而微軟選擇了.NET 。 2005 年,微軟宣布將不再對非 .NET 版本的 VB 提供免費支持,百名 MVP 上書抗議也未果。後來,微軟在 2010 年將兩個版本又融入了 Visual Studio。

在內鬥中取勝的 VB .NET,但沒有抗住外部的對手—— C# 。 C# 於 2000 年和 .NET 開發平台一起由微軟發布。 .NET 開發平台支持多種語言,其中 C# 是主語言。

隨著時間的推移,專業開發者越來越傾向於使用 C#, 許多 VB 的用戶也乾脆放棄了更複雜、功能強大的 . NET 版本。到了今天,微軟幾乎所有的相關開發文檔都用 C#,VB 源代碼的例子越來越難找到。

而微軟不是很重視 VB 的態度似乎一直有跡可循。 2017 年,微軟曾宣布過一個C#/VB 協同開發策略,但事實上有人認為這個策略一直形同虛設,只有C# 會獲得所有的新特性,而VB 會專注於它曾經主宰的更簡單、更容易接近的場景。這一則聲明相當於正式宣告策略破產。

“它被認為是一種玩具語言,適合剛開始學習編程的人。”編程語言社區 TIOBE 在 2018 年出具的一份報告中這樣寫道,沒有多少專業開發者會過多關注這種語言。 “微軟正在慢慢減少對 VB 的投入,這種語言遲早會衰落。”微軟官方當年公佈的數據,C# 的使用者量級是數百萬,而 VB.NET只有數十萬。

Visual Basic 永遠29歲 微軟宣布不再發展這門語言 3

2020 年 3 月榜單

但很神奇的是,VB. NET 一直活躍在 TIOBE 程序語言榜單中,在 2018 年 12 月還超過 C#,排在第五位。最新的 3 月榜單中,C#排在第五,VB. NET 比之去年 3 月下滑位至第六,VB 排在第 18 位。

開發者何去何從?

微軟博客中表示,開發者可以繼續使用.NET Framework,也不一定都將VB 應用都遷移到.NET Core 上,因為目前.NET Core 不支持WebForms,Workflow 或WCF等,而且遷移還需要應用到一些很新的技術。

“只要你高興,不論是 VB 還是 C# 用戶,你都可以繼續使用.NET Framework,只要電腦還支持 Windows,自帶的 .NET Framework 就能一直使用。”

微軟還指出, Visual Studio 還將持續增加新功能、改善性能,VB 開發者也能繼續躺享,比如他們近期為 VB 加入了 IntelliCode 。

也就是說,VB.NET 不會消失,只是不會進一步發展,開發者可以轉用 .NET Core,或者直接轉去用 C#。

在外網一篇博客下,一些開發者表示,VB 用戶群太小眾了,“消亡”是不可避免的。不僅他身邊朋友沒有人用,連朋友的朋友都沒人用。

不過需要指出的是,儘管 VB 衰落,但其實現在有許多程序和 APP 是用 VB 寫的,比如許多專為中小型企業開發的辦公應用程序,VB 可以快速原型化,而且很容易上手。

還有很多的開發者表達了對於 VB、以及 20 年前使用 VB 時光的懷念。這些開發者差不多在 90 年代從 FoxPro 遷移到 VB,2000 年之後又切換到 C#。所以在懷念之餘,他們也大力鼓動 VB 開發者轉到 C#。

Mike_Brady 也是其中一位,他在 2002 年開始上手 C#。他認為有些VB 程序員還在堅守VB 是因為他們對於花括號(curly braces)太過恐懼了,“雖然C# 很像C,但並不是(我在工作中接觸過幾年C 語言,不寒而栗,再也不要用了!),事實上C# 更接近VB.NET,轉換並不是很難的一件事,可能一兩個星期,就能適應這種文體上的差異。”