近期,微软 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 年发布的 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#。