微軟不再發(fā)展Visual Basic編程語(yǔ)言:它曾經(jīng)的輝煌你可知?
近期,微軟 NET 團(tuán)隊(duì)在開發(fā)者博客中宣布,他們雖然還會(huì)繼續(xù)在 .NET 5.0 上支持 Visual Basic ,但不再將 VB 作為一門獨(dú)立的語(yǔ)言發(fā)展(Going forward, we do not plan to evolve Visual Basic as a language)。
雷鋒網(wǎng)AI源創(chuàng)評(píng)論了解到,.Net 5 是一套可以為 Windows、Linux、macOS、iOS、tvOS、Android、Web 等提供統(tǒng)一運(yùn)行環(huán)境,橫跨云端、IoT、本地游戲等的大迭代版本,由微軟在去年 Build 大會(huì)宣布,并在今年的 3 月 17 日發(fā)布了第一個(gè)預(yù)覽版本。
第一個(gè)預(yù)覽版本
NET 5 VB 將支持類庫(kù)、控制臺(tái)、Windows Forms、WPF、Woker Service 和 ASP.NET Core Web API。
“展望未來(lái),我們不打算繼續(xù)演化 VB 這門語(yǔ)言,而是將精力放在改進(jìn)穩(wěn)定性、以及保持 .NET Framework版本和 .NET Core 的兼容性?!碑?dāng)然由于平臺(tái)差異,VB 在兩個(gè)版本上會(huì)逐漸展示出差異。
VB 也曾輝煌
VB 曾經(jīng)也輝煌過(guò),它是第一個(gè)支持可視化界面設(shè)計(jì)的語(yǔ)言。
雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))AI源創(chuàng)評(píng)論了解到,VB 的前身是 Quick BASIC ,由微軟公司在 1987 年推出。若再往前追溯,Quick BASIC 還是 BASIC 的繼承者。BASIC 語(yǔ)言誕生于 1971 年,設(shè)計(jì)目的就是面向初學(xué)者,其時(shí)的 Fortran 和 Algol 60 語(yǔ)言很難被非理工科生掌握。
Quick BASIC 是 DOS 下的開發(fā)語(yǔ)言,后來(lái)隨著 Windows 系統(tǒng)的推出加入了圖像化設(shè)計(jì),1991 年 4 月,微軟將新的版本改名為:Visual Basic,一經(jīng)問(wèn)世,便得到許多程序員的青睞。1998 年發(fā)布的 VB 6.0 是一個(gè)應(yīng)用非常廣泛的版本。
然后.NET 時(shí)代來(lái)了。2001 年,VB 遷移到了.NET 平臺(tái)上,取名 VB .NET。VB .NET 對(duì) BASIC 語(yǔ)言特性進(jìn)行了重大改進(jìn)。
但也是這個(gè)版本割裂了 VB 的陣營(yíng),一部分開發(fā)者去用了.NET 版本,另一些則堅(jiān)持使用過(guò)去 VB,如經(jīng)典的 VB6。開發(fā)者表示兩種語(yǔ)言差別頗大,前者更像 java,更面向?qū)ο蟆?/p>
而微軟選擇了.NET 。2005 年,微軟宣布將不再對(duì)非 .NET 版本的 VB 提供免費(fèi)支持,百名 MVP 上書抗議也未果。后來(lái),微軟在 2010 年將兩個(gè)版本又融入了 Visual Studio。
在內(nèi)斗中取勝的 VB .NET,但沒(méi)有抗住外部的對(duì)手—;—; C# 。C# 于 2000 年和 .NET 開發(fā)平臺(tái)一起由微軟發(fā)布。.NET 開發(fā)平臺(tái)支持多種語(yǔ)言,其中 C# 是主語(yǔ)言。
隨著時(shí)間的推移,專業(yè)開發(fā)者越來(lái)越傾向于使用 C#, 許多 VB 的用戶也干脆放棄了更復(fù)雜、功能強(qiáng)大的 . NET 版本。到了今天,微軟幾乎所有的相關(guān)開發(fā)文檔都用 C#,VB 源代碼的例子越來(lái)越難找到。
而微軟不是很重視 VB 的態(tài)度似乎一直有跡可循。2017 年,微軟曾宣布過(guò)一個(gè) C#/VB 協(xié)同開發(fā)策略,但事實(shí)上有人認(rèn)為這個(gè)策略一直形同虛設(shè),只有 C# 會(huì)獲得所有的新特性,而 VB 會(huì)專注于它曾經(jīng)主宰的更簡(jiǎn)單、更容易接近的場(chǎng)景。這一則聲明相當(dāng)于正式宣告策略破產(chǎn)。
“它被認(rèn)為是一種玩具語(yǔ)言,適合剛開始學(xué)習(xí)編程的人。”編程語(yǔ)言社區(qū) TIOBE 在 2018 年出具的一份報(bào)告中這樣寫道,沒(méi)有多少專業(yè)開發(fā)者會(huì)過(guò)多關(guān)注這種語(yǔ)言?!拔④浾诼郎p少對(duì) VB 的投入,這種語(yǔ)言遲早會(huì)衰落。”微軟官方當(dāng)年公布的數(shù)據(jù),C# 的使用者量級(jí)是數(shù)百萬(wàn),而 VB.NET只有數(shù)十萬(wàn)。
2020 年 3 月榜單
但很神奇的是,VB. NET 一直活躍在 TIOBE 程序語(yǔ)言榜單中,在 2018 年 12 月還超過(guò) C#,排在第五位。最新的 3 月榜單中,C#排在第五,VB. NET 比之去年 3 月下滑位至第六,VB 排在第 18 位。
開發(fā)者何去何從?
微軟博客中表示,開發(fā)者可以繼續(xù)使用 .NET Framework,也不一定都將 VB 應(yīng)用都遷移到 .NET Core 上,因?yàn)槟壳?.NET Core 不支持 WebForms,Workflow 或 WCF等,而且遷移還需要應(yīng)用到一些很新的技術(shù)。
“只要你高興,不論是 VB 還是 C# 用戶,你都可以繼續(xù)使用.NET Framework,只要電腦還支持 Windows,自帶的 .NET Framework 就能一直使用?!?/p>
微軟還指出, Visual Studio 還將持續(xù)增加新功能、改善性能,VB 開發(fā)者也能繼續(xù)躺享,比如他們近期為 VB 加入了 IntelliCode 。
也就是說(shuō),VB.NET 不會(huì)消失,只是不會(huì)進(jìn)一步發(fā)展,開發(fā)者可以轉(zhuǎn)用 .NET Core,或者直接轉(zhuǎn)去用 C#。
在外網(wǎng)一篇博客下,雷鋒網(wǎng)AI 源創(chuàng)評(píng)論注意到,一些開發(fā)者表示,VB 用戶群太小眾了,“消亡”是不可避免的。不僅他身邊朋友沒(méi)有人用,連朋友的朋友都沒(méi)人用。
不過(guò)需要指出的是,盡管 VB 衰落,但其實(shí)現(xiàn)在有許多程序和 APP 是用 VB 寫的,比如許多專為中小型企業(yè)開發(fā)的辦公應(yīng)用程序,VB 可以快速原型化,而且很容易上手。
還有很多的開發(fā)者表達(dá)了對(duì)于 VB、以及 20 年前使用 VB 時(shí)光的懷念。這些開發(fā)者差不多在 90 年代從 FoxPro 遷移到 VB,2000 年之后又切換到 C#。所以在懷念之余,他們也大力鼓動(dòng) VB 開發(fā)者轉(zhuǎn)到 C#。
Mike_Brady 也是其中一位,他在 2002 年開始上手 C#。他認(rèn)為有些 VB 程序員還在堅(jiān)守 VB 是因?yàn)樗麄儗?duì)于花括號(hào)(curly braces)太過(guò)恐懼了,“雖然 C# 很像 C,但并不是(我在工作中接觸過(guò)幾年 C 語(yǔ)言,不寒而栗,再也不要用了?。?,事實(shí)上 C# 更接近 VB.NET,轉(zhuǎn)換并不是很難的一件事,可能一兩個(gè)星期,就能適應(yīng)這種文體上的差異?!?/p>