微软 .NET最新语言战略 主推C#和F#
近期Microsoft .NET 团队首席项目经理 Kathleen Dollard 发布了 .NET 语言战略的更新。新文档延续了上一个2017 年编写的想法,其中 C# 和 F# 是不断发展的语言,而 VB.NET 是一种小众语言。新战略文档托管在 Microsoft Learn 网站上。它分为三种主要的 .NET 语言:C#、F# 和 VB.NET。
C# 被公认为 .NET 社区中使用最广泛的语言。因此,它将积极发展以保持“最先进的编程语言”。该团队明确表示,他们支持对大多数开发人员有利的设计决策,而回避针对 C# 的专门增强功能。同时,保持“对向后兼容性的高度承诺”意味着团队将考虑任何重大变化对整个 C# 生态系统的规模和影响。
C# 开发人员对语言演变的突出评论之一是许多遗留结构的继续存在,例如非泛型集合(如 .NET 第一个版本中的 ArrayList)或本机事件支持(在 .NET 的异步世界中基本上已过时)现代 C#)。Microsoft .NET 框架团队的项目经理 Immo Landwerth认识到该团队已经尝试在 Windows 8 时代推出一个没有遗留组件的新 .NET ,并且“它已被证明是完全不可行的”并且“打破了整个生态系统”。然后很可能假设这些功能将在 C# 中保留很长时间。
F# 语言策略首先将专注于提供“语言领导和指导”。该语言比 C# 更能从社区贡献中获益。为了帮助保持高质量的贡献,微软将支持技术决策并提供架构方向。
F# 还有两个策略要点。一是保持它与新 C# 的互操作性,认识到 C# 和 F# 在实际解决方案中经常一起使用。另一个是简化新 F# 开发人员的入门门槛,其中可能包括重新措辞错误消息和为简单起见重新设计语言功能。
Visual Basic.NET (VB.NET) 将得到维护以跟上新的运行时和库的增强功能,而无需专门向该语言添加任何新功能。在 2017 年的第一份 .NET 战略文档中,.NET 语言的并排协同演化已经被放弃,让 VB.NET 拥有一种称为“仅限消费的方法”。根据注释策略文档,这意味着 VB.NET 将能够通过公共语言运行时 (CLR) 的正常 .NET 跨语言互操作机制访问新的 .NET 运行时和 API 增强功能,但它不会有任何新语法来定义 VB.NET 代码中的新功能。
Kathleen Dollard在回复策略公告博客帖子页面上的开发人员评论时回答说,“仅限消费”意味着 VB.NET 开发人员将无法创建Span和Memory结构,但他们将能够调用 C# 中的方法返回他们。
从声明的对“稳定设计”和“核心 VB 场景”的关注也可以清楚地看出,Microsoft 不会扩展 VB.NET 语言的设计或其工作负载,主要围绕 Windows 窗体应用程序或库进行分组。此外,还有一个明确的句子,微软“不期望”支持 Web 前端(即 Blazor)或跨平台 UI 框架(即 MAUI)。较旧的 .NET 语言(例如 C++/CLI)已从该策略中删除,尽管在公告的评论中指出这些语言不由 .NET 语言产品团队管理。开发商在社交媒体上评论说,他们对战略的实际变化感到困惑。
更新于:5个月前相关文章
- .NET C# 使用Hook钩子实现全局监听键盘和鼠标
- BotSharp 基于 .NET 平台的开源 AI 聊天机器人框架
- .NET C#连接FTP实现文件上传下载
- C#使用 Attribute 实现 AOP 功能
- C#中的线程安全的集合ConcurrentQueue使用示例
- .NET C#中的Func、Predicate和Expression用法详解
- 5个高性能 .NET Core 图片处理库推荐
- ASP.NET如何将Views文件夹从项目分离
- C#13新特性 使用System.Threading.Lock简化线程同步
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET开源ORM FreeSql常见问题和解决方法
- 微软官方Microsoft.Extensions.AI库使用示例
- 微软于发布了.NET 9 Release Candidate 2 提高整体质量
- 分享5个开源的.NET Excel读写操作库
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?