Visual Basic 永遠29歲微軟宣布不再發展這門語言
近期,微軟NET 團隊在開發者博客中宣布,他們雖然還會繼續在.NET 5.0 上支持Visual Basic ,但不再將VB 作為一門獨立的語言發展(Going forward, we do not plan to evolve Visual Basic as a language)。
.Net 5是一套可以為Windows、Linux、macOS、iOS、tvOS、Android、Web等提供統一運行環境,橫跨雲端、IoT、本地遊戲等的大迭代版本,由微軟在去年Build大會宣布,並在今年的3月17日發布了第一個預覽版本。
第一個預覽版本
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只有數十萬。
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加入了 Intel liCode 。
也就是說,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,轉換並不是很難的一件事,可能一兩個星期,就能適應這種文體上的差異。”