微软再定语言策略:VB明升暗降,C#当先!

译文 精选
开发 前端
2月6日,首席项目经理凯瑟琳·多拉德(Kathleen Dollard)的帖子几乎没有透露任何信息,她表示“你不会发现大的变化”,并参考了其他文件细节。

作者 | Tim Anderson 

策划 | 壹舟

微软终于更新.NET编程语言策略了。这是自2017年以来首次更新!最显著的变化是Visual Basic(VB)的地位进一步削弱,尽管该公司承诺将继续“致力于Visual Basic”。

图片

2月6日,首席项目经理凯瑟琳·多拉德(Kathleen Dollard)的帖子几乎没有透露任何信息,她表示“你不会发现大的变化”,并参考了其他文件细节。

1、C# :继续创新特别承诺向后兼容,但开发者有话说

在三种.NET语言中,C#是目前最流行的语言,也是编写大多数框架和库的语言。微软承诺继续创新,同时特别承诺向后兼容性,一位开发人员表示,“有必要限制向后兼容的水平。例如,不必继续支持非通用集合。”

微软项目经理伊莫·兰德沃斯(Immo Landwerth)很快做出了回应,表示“我们永远不会做出如此有影响力的突破性改变”,并对Windows 8实验添加了一个有趣的视角。他说:“我们试图从Windows 8时代的.NET重新开始,但事实证明它完全行不通。”。

2、金融界流行的F# :  与C#协同工作

F#是第二种语言,一种在金融界很流行的函数语言。微软的战略是“发展F#,使其与C#协同工作,并利用新的.NET运行时和库来改进。”还有人提到需要“依靠社区提供重要的库、开发人员工具和工作负载支持。”

3、尴尬的VB:尽一切必要努力使其成为.NET生态系统的一流公民

对于微软来说,尴尬的是第三个,Visual Basic。2017年,C#首席设计师Mads Torgersen的一篇博客文章阐述了当时的.NET语言策略,这篇文章比前文Dollard的新文章写得更为详细、更有见解。

Torgersen表示,大多数VB开发人员“正在使用WinForms在Windows中构建业务应用程序,少数人正在构建网站,同时主要使用ASP.NET Web窗体。”WinForms和Web窗体都是旧框架,这表明VB程序员对最新技术的兴趣不如C#或F#开发人员。

Torgersen还引用了一项2017年的Stack Overflow调查,该调查显示VB是开发人员必须使用的“最可怕”的语言,尽管正如他所补充的,目前还不清楚这主要是VB.NET还是旧的VB。但无论如何,VB仍然是Microsoft Office的宏语言。

题外话:五年后,在2022年StackOverflow的调查中,对VB的唯一提及是“VBA”,这是一种宏语言,它仅排在倒数第三位,表的底部被MATLAB占据。C排名第十,F排名第17。

微软的VB策略似乎有点改变。2017年,Torgersen承诺该团队将“尽一切必要努力,使其成为.NET生态系统的一流公民”。新策略将VB描述为一种“倾向于清晰而非简洁”的语言,并表示,当C#或.NET运行时获得新功能时,VB将采用“consumption-only”的方法,并且“我们不打算将Visual Basic扩展到新的工作负载”

多年来的事实是:对于那些想要从.NET中获得最佳效果的人来说,VB并不是最好的语言。这一点早在本世纪初.NET首次推出时,就板上钉钉了。相较而言,C#是.NET的新语言;而VB却是为.NET而重新设计的,它总是很难让使用者满意,甚至不能满足当时的VB铁杆粉丝(虽然他们中的许多人都发誓要继续使用VB6)。

微软很乐于宣传公民开发者的重要性,毕竟VB的简单英语语法似乎很适合用来做到这一点。遗憾的是,微软未能以一种能够使其对商业开发者,更具吸引力的方式对VB进行改进。

4、写在最后

.NET作为一个面向未来的高度集成的技术平台,凝结了无数微软人的心血,当然移动时代的兴起,更多的开发者从迈向更适合移动端的语言。但这并不妨碍微软的后发优势。

此次语言策略的变更,可以看出,微软正在重新赋予VB的语言地位,致力于让其成为一种大众开发者的语言。而C#、F#正在成为持续创新的重心。

原文链接:https://devclass.com/2023/02/07/microsoft-updates-its-net-language-strategy-keeps-visual-basic-alive-but-near-frozen/

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2009-11-03 14:13:23

VB.NET C#

2009-10-30 14:21:00

VB.NET开发语言

2009-09-02 17:10:45

C#语言入门

2009-08-28 15:35:31

C#与VB.net

2012-06-06 09:04:54

Roslyn

2009-08-13 17:04:09

C#语言C#程序

2011-10-20 15:06:47

Project Ros

2009-11-02 16:47:18

VB.NET C#

2009-09-07 15:04:07

2009-08-24 16:40:18

C#与VB7

2009-02-10 09:03:59

动态语言CLRVB.NET

2009-06-17 10:05:07

自动实现属性VBC#

2009-08-18 16:57:24

VB.NET和C#

2009-08-19 16:50:32

Visual C#C#语言特性

2011-10-20 09:50:14

C#

2009-08-03 16:28:53

Java语言与C#语言

2009-08-25 16:32:24

C#语言

2010-08-19 09:51:00

C# 4

2009-09-11 10:44:55

C#语言

2010-08-02 16:44:31

点赞
收藏

51CTO技术栈公众号