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