上周,微软宣布了他们改变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 )关注我们。
评论