近期,微软 NET 团队在开发者博客中宣布,他们虽然还会继续在 .NET 5.0上支持 Visual Basic ,但不再将 VB 作为一门独立的语言发展(Going forward, we do not plan to evolve Visual Basic as a language)。

雷锋网AI源创评论了解到,.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曾经也辉煌过,它是第一个支持可视化界面设计的语言。

雷锋网AI源创评论了解到,VB的前身是 Quick BASIC ,由微软公司在1987年推出。若再往前追溯,Quick BASIC 还是 BASIC 的继承者。BASIC 语言诞生于1971年,设计目的就是面向初学者,其时的 Fortran 和 Algol 60语言很难被非理工科生掌握。

Quick BASIC 是 DOS 下的开发语言,后来随着 Windows 系统的推出加入了图像化设计,1991年4月,微软将新的版本改名为:Visual Basic,一经问世,便得到许多程序员的青睐。1998年发布的 VB6.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#。

在外网一篇博客下,雷锋网AI 源创评论注意到,一些开发者表示,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,转换并不是很难的一件事,可能一两个星期,就能适应这种文体上的差异。”