VB已死?还是会在Roslyn之下焕发新生?
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
由于最初的ASP.NET 5测试版并未支持VB,导致社区有一种声音:觉得VB将死。今天我们就来简单的讨论一下这个有意思的话题。
我入门计算机编程就是初三的时候从一本GWBasic教程开始的,后来学习QB,VB。大学毕业前去考的MCSD也是VB语言。虽然在.NET平台上一开始就是以C#为主,其中只是把VB6移植到.NET上用过VB.NET。不过对VB还是有感情的,对VB也一直比较关注。今天InfoQ中文站的一篇文章《Visual Basic被群众的呼声所挽救》提醒我应该谈谈这个话题。
一直以来VB.NET的语言特性的变更往往落后于C#,而且给人的感觉也是VB.NET的使用场合越来越少。尤其,在ASP.NET 5的最初测试版本中,并未提供VB.NET的支持,导致人们一度认为微软要放弃VB了。甚至,在Build大会召开前,微软一个内部邮件列表中,一个名为“Death of VB”的邮件引起很多人的跟帖。也有人发出了“Help us to keep Visual Basic alive”的呼声。这次关于VB的讨论太过激烈,连Scott Hanselman都不得不出来提前在Build 2015大会之前放出ASP.NET 5会支持VB的消息(不管当时是NDA,我也无法把这个消息提前转发给大家)。有意思的是,Miguel de Icaza跟帖提到“F#被微软当作一个科研语言,而他的真正力量没有发挥出来,VB和C#应该多吸取Swift和F#的创新,且每个开发人员都应该用用它”。
随后,VB开发团队也在官方博客上发布了一篇题为“Making It Better: ASP.NET with Visual Basic 14”的介绍文章来介绍了一些VB14针对ASP.NET的新特性:
- 字符串插值让Web Forms的字符串更像Razor语法
- 可以在MVC中使用新加入的NameOf操作符来验证参数
- 在Web Forms中支持异步模型绑定
- 支持使用Roslyn来编译VB
- ASP.NET 5支持VB
另外,VB开发团队还有另外两篇文章介绍了把VB的语法改成小写格式,一种是通过Roslyn来添加自定义编译服务支持特殊语句关键字,另外一种是通过模板转换的方式。有兴趣的可以“阅读原文”来查看第一篇文章(里面有第二篇文章的链接)。