微軟 .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 2019 大會宣布,並在今年 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 加入 IntelliCode 。
也就是說,VB .NET 不會消失,只是不會發展下去,開發者可轉用 .NET Core,或直接轉用 C#。
一些開發者表示,VB 用戶太小眾,死亡不可避免,不僅身邊朋友沒人用,連朋友的朋友都沒在用。 不過要指出的是,儘管 VB 衰落,但現在許多程式和 App 還是用 VB 寫的,比如許多專為中小型企業開發的辦公應用程式,VB 可快速原型化,且容易上手。
還有很多開發者表達對 VB、20 年前使用 VB 時光的懷念。 這些開發者差不多 1990 年代從 FoxPro 遷移到 VB,2000 年後又切換到 C#。懷念之餘,他們也大力鼓勵 VB 開發者轉到 C#。
Mike_Brady 是其中一位,他在 2002 年上手 C#,認為有些 VB 工程師還在堅守 VB 是因為對括弧(curly braces)太恐懼了。「雖然 C# 很像 C,但並不是(我工作時接觸過幾年 C 語言,不寒而慄,再也不要用了!)事實上 C# 更接近 VB .NET,轉換並不是很難,可能一兩星期就能適應差異。 」 |