.NET核心:仍然是微软平台的问题

2020-07-10 08:09:51

评论微软在.NET平台上工作的主要人员对它与一家公司捆绑在一起的持续看法感到担忧。

微软软件架构师大卫·福勒(David Fowler)说,告诉你的朋友,C#和F#是免费的、开源的,可以在Linux和Mac上运行。福勒从事.NET Core和ASP.NET的设计,也是SignalR实时消息传递框架的共同发明人。

福勒在周末发表了这番言论,这是.NET开发人员比利·柯林斯在推特上引发的一场辩论的一部分。他说:非.NET开发人员认为C#是一种仅限Windows的企业膨胀软件语言,这是怎么回事?现在已经不是2005年了。

问题是,尽管微软在2014年开始开源.NET,但有一种看法认为,它仍然是一个微软平台框架,阻碍了更广泛生态系统的增长。

在这方面很难获得可靠的数据。根据StackOverflow的调查,.NET的主要语言C#仍然很受欢迎,有31.4%的开发人员使用,在RedMonk语言排行榜上排名第五。根据RedMonk的数据,自2012年以来,C#的使用量一直保持稳定。

也就是说,微软的平台有一个庞大的社区,这些数据与.NET Core的演变成功地留住了现有的开发人员,但不太善于吸引新的开发人员的想法是一致的。今年1月,该社区的一些成员反思了如下问题:目前的.NET是为40岁的白人男性准备的,而.NET并没有得到更年轻的开发人员的太多关爱。

微软已经证明了自己有能力创建拥有广泛用户基础的开源项目,两个例子是Visual Studio代码程序员的编辑器和打字语言(由C#的发明者Anders Hejlsberg创建)。两者都广泛用于非Windows计算机,以及与Microsoft无关的项目中。

每个人都认为StackOverflow是.NET构建的最佳系统的唯一真正的例子。还需要更多的例子。";

生态系统仍然远远落后于其他语言,并且仍然非常依赖微软…。就Java而言,Spring Boot背后有一大群公司,但.NET Core的情况就不一样了,因为它主要由微软支持。

福勒倾向于认为这是一个可以修复的感知问题。他评论说:我们跨平台已经有5年了,在此之前,微软从未认可过Mono(Linux版.NET的第三方实现)。一些障碍是技术性的,我们已经在2020年消除了大部分障碍。现在我们的生态系统正在迎头赶上。

虽然微软确实很难在自己的平台之外传播.NET的价值,但也有可能该公司未能在开放技术和保留其商业优势之间找到正确的平衡。

微软有充分的商业理由让.NET跨平台。考虑到Linux在服务器上的主导地位及其在Kubernetes等平台中的角色,在Linux上良好运行至关重要。

然而,微软也使用.NET Core和Web框架ASP.NET Core来引导开发人员使用它的其他产品,不仅是Azure云,还有各种形式的SQL Server数据库管理器。微软为监督开源项目而设立的.NET基金会不可避免地向公司倾斜;尽管其他公司参与了它的治理,但它不能成为一个中立的管家。

F#的发明者唐·赛姆(Don Syme)说:[这]是我们改变的观念,不是吗?为什么不让更多的公司显眼地加入到.NET领导力的行列中来呢?使.NET成为一个合适的非军事区联盟,以反映它所涉及的巨大的经济利益。

Syme正在支持.NET核心主要项目经理Richard Lander的一项倡议,该倡议旨在提高社区贡献的信用,提高非微软贡献者的形象,并促进多样性和包容性。Syme说,规则中不应该对.NET团队或微软团队有特别不同的对待-微软的贡献者和其他人一样,只是社区的一部分。(#34;Syme#34;Syme;";Syme;";Syme说,规则中不应该对.NET团队或微软有特殊的区别-微软贡献者和其他人一样,只是社区的一部分。

这样的调整可能有助于.NET感知。微软还认识到,VS代码必须在扩大.NET使用方面发挥作用。高级项目经理菲利普·卡特(Philip Carter)加入了这场辩论,他补充道:拥有2-5年.NET经验的人比拥有5年以上.NET经验的人使用VS代码的次数要多得多(尽管工具性能不佳)。

不难发现,微软可以做些什么来使.NET成为一种更中立的技术,从而更有可能吸引更广泛的生态系统。这些想法包括放弃.NET Foundation,修改文档以消除与SQL Server和Azure的紧密联系,以及使VS代码与仅用于.NET开发的Windows Visual Studio一样好。

但是,这是否符合该公司的商业目标呢?还有一个风险是,如果微软为了更广泛的使用而与.NET保持距离,该公司的客户可能会担心它正在失去现有的坚实后盾。如果不想看到.NET使用率下降,这是该公司需要继续努力解决的问题。®。

The Register-独立于科技界的新闻和观点。情况发布的一部分