近期,微软 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 加入了 IntelliCode 。
也就是说,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,转换并不是很难的一件事,可能一两个星期,就能适应这种文体上的差异。”