微软宣布不再发展VisualBasic语言,它也曾辉煌过

  近期,微软NET团队在开发者博客中宣布,他们虽然还会继续在.NET5.0上支持VisualBasic,但不再将VB作为一门独立的语言发展(Goingforward,wedonotplantoevolveVisualBasicasalanguage)。

  雷锋网AI源创评论了解到,.Net5是一套可以为Windows、Linux、macOS、iOS、tvOS、Android、Web等提供统一运行环境,横跨云端、IoT、本地游戏等的大迭代版本,由微软在去年Build大会宣布,并在今年的3月17日发布了第一个预览版本。

  第一个预览版本

  NET5VB将支持类库、控制台、WindowsForms、WPF、WokerService和ASP.NETCoreWebAPI。

  “展望未来,我们不打算继续演化VB这门语言,而是将精力放在改进稳定性、以及保持.NETFramework版本和.NETCore的兼容性。”当然由于平台差异,VB在两个版本上会逐渐展示出差异。

  VB也曾辉煌

  VB曾经也辉煌过,它是第一个支持可视化界面设计的语言。

  雷锋网(公众号:雷锋网)AI源创评论了解到,VB的前身是QuickBASIC,由微软公司在1987年推出。若再往前追溯,QuickBASIC还是BASIC的继承者。BASIC语言诞生于1971年,设计目的就是面向初学者,其时的Fortran和Algol60语言很难被非理工科生掌握。

  QuickBASIC是DOS下的开发语言,后来随着Windows系统的推出加入了图像化设计,1991年4月,微软将新的版本改名为:VisualBasic,一经问世,便得到许多程序员的青睐。1998年发布的VB6.0是一个应用非常广泛的版本。

  然后.NET时代来了。2001年,VB迁移到了.NET平台上,取名VB.NET。VB.NET对BASIC语言特性进行了重大改进。

  但也是这个版本割裂了VB的阵营,一部分开发者去用了.NET版本,另一些则坚持使用过去VB,如经典的VB6。开发者表示两种语言差别颇大,前者更像java,更面向对象。

  而微软选择了.NET。2005年,微软宣布将不再对非.NET版本的VB提供免费支持,百名MVP上书抗议也未果。后来,微软在2010年将两个版本又融入了VisualStudio。

  在内斗中取胜的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位。

  开发者何去何从?

  微软博客中表示,开发者可以继续使用.NETFramework,也不一定都将VB应用都迁移到.NETCore上,因为目前.NETCore不支持WebForms,Workflow或WCF等,而且迁移还需要应用到一些很新的技术。

  “只要你高兴,不论是VB还是C#用户,你都可以继续使用.NETFramework,只要电脑还支持Windows,自带的.NETFramework就能一直使用。”

  微软还指出,VisualStudio还将持续增加新功能、改善性能,VB开发者也能继续躺享,比如他们近期为VB加入了IntelliCode。

  也就是说,VB.NET不会消失,只是不会进一步发展,开发者可以转用.NETCore,或者直接转去用C#。

  在外网一篇博客下,雷锋网AI源创评论注意到,一些开发者表示,VB用户群太小众了,“消亡”是不可避免的。不仅他身边朋友没有人用,连朋友的朋友都没人用。

  不过需要指出的是,尽管VB衰落,但其实现在有许多程序和APP是用VB写的,比如许多专为中小型企业开发的办公应用程序,VB可以快速原型化,而且很容易上手。

  还有很多的开发者表达了对于VB、以及20年前使用VB时光的怀念。这些开发者差不多在90年代从FoxPro迁移到VB,2000年之后又切换到C#。所以在怀念之余,他们也大力鼓动VB开发者转到C#。

  Mike_Brady也是其中一位,他在2002年开始上手C#。他认为有些VB程序员还在坚守VB是因为他们对于花括号(curlybraces)太过恐惧了,“虽然C#很像C,但并不是(我在工作中接触过几年C语言,不寒而栗,再也不要用了!),事实上C#更接近VB.NET,转换并不是很难的一件事,可能一两个星期,就能适应这种文体上的差异。”

  参考

  https://yuhou.cnyuhou.cn/QQBOSS/p/9906436.html

  https://devblogs.yuhou.cn/vbteam/visual-basic-support-planned-for-net-5-0/

  https://www.yuhou.cn/dev/232268/microsoft-plots-the-end-of-visual-basic