Visual Basic 的未来之路

  • Jeff Martin
  • 任美芒

2017 年 2 月 13 日

话题:.NET语言 & 开发

上周,微软宣布了他们改变 Visual Basic 语言未来发展计划的想法。这次公布给 Visual Basic 开发人员留下了很多不确定性,但 Visual Basic 语言的设计者 Anthony D.Green说明了这个新策略的一些细节。

Green 首先列出了当时使用 VB 进行开发的四个基础指导原则:

  • VB 和 C# 共享的通用 IDE 和平台构建块。
  • 共享的“多范式、面向对象、命令式、强类型等”语言特性。
  • 在 API 的边界需要强大的跨语言互操作性和丰富的语言创新机会(如泛型、LINQ、异步)。
  • 客户对语言工具奇偶校验的反馈。

现在微软认为 VB 非常适合那些以 Windows 平台作为目标开发平台的开发者或者编程新手(至少,编程不是他们主要的职业)。

另一方面,非 Windows 平台的崛起给 C# 带来了一定的影响但不会影响到 VB。在 Green 看来,VB 不太适合游戏开发或者基于 Mac OS X 的开发。VB 对于非 Windows 平台适应性的缺乏造成了困境,F# 的开源以及 C# 对开源工具日益增长的支持,使得这两种语言在吸引和保留开发人员方面优于 VB。越来越多的 C# 开发人员进入了良性循环,他们可以带来更多的进步,从而吸引更多的开发人员。

最后,Green 提出了一种情况,如果保持 C# 与 VB 的开发进度和功能特性齐头并进,这对于有限的资源会产生压力。微软希望专注于 C#,因为它以最快的方式提供最广泛的反馈。一旦这种反馈产生了对 VB 开发人员有价值的想法,微软会考虑从 C# 移植到 VB。

这对于那些想知道他们在 VB 语言的投入能得到什么回报的开发者来说意味着什么?之前列出的四个原则已经被以下目标替代:工具、平台和语言。

Green 说,VB 的质量工具仍然是重点,并提到 Visual Studio 2017 中的动态单元测试如何支持 VB。在平台的基础上,VB 仍然会被维护以便支持.NET Core 的.NET 标准。VB 语言本身也会增加新的功能和关键字,但前提是它们对 VB 是有意义的,而不仅仅是因为 C# 中增加了这些特性。Green 举例说像 UTF-8 字符串就不会添加到 VB 中。

VB 开发人员的反应非常激烈,许多人期待 VB 可以支持多平台,包括像 HoloLens 这样的微软技术。Reed Kimble 写到:“这是一个鸡和蛋的问题。微软不提供某个功能是因为他们没有听到人们的要求。人们没有要求某个功能是因为微软还没有提供该功能,所以这必定意味着人们无法获得这些功能。

查看英文原文:Visual Basic: The Road Ahead


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

.NET语言 & 开发