Hacker News 中文摘要

RSS订阅

Rust 成为微软一级语言 -- Rust Is Tier-1 Language at Microsoft

如今,Rust 对微软(Microsoft)具有战略意义已不令人意外。微软 Azure 首席技术官马克·鲁西诺维奇(Mark Russinovich)曾阐述原生代码的未来策略,微软也向 Rust 项目投入数百万美元。现在,Rust 与 C++、C#、TypeScript 并列,成为微软内部开发支持最好的语言之一。这种一级语言工程地位意味着内部团队从本地开发到生产都有铺好的路径,并满足微软软件必须符合的安全开发生命周期(SDL)要求。

正文

如今,Rust 对微软的战略意义已不足为奇。从 Azure CTO Mark Russinovich 提出原生代码未来战略,到微软投入数百万美元支持 Rust 项目。可观看去年 RustConf 上 Mark 的主题演讲 了解部分由 Rust 驱动的核心项目。

如今,Rust 与 C++、C#、TypeScript 并列,成为微软内部开发支持最好的语言之一。其“一等语言”工程地位意味着为内部团队提供从本地开发到生产的顺畅路径:安全的工具链构建、高效的开发工具、质量工作流、深度平台集成,以及符合微软软件必须满足的 SDL 要求。

Windows 平台与 MSVC 已共同演进数十年,C 和 C++ 一直是开发平台的基石。随着 MSVC 和 Windows 不断创新,我们需要确保这些功能在 C++ 和 Rust 中皆可用,并实现两者间无缝互操作。

MSVC 是 Windows 的原生平台编译器,随着 Rust 在微软的使用增长——从固件、驱动、内核和虚拟机监控程序到微服务和应用——它需要充分参与该生态系统。这在混合 Rust/C++ 项目中极为重要。我们为此目标最重要的投资之一是 rustc_codegen_utc。

介绍 rustccodegenutc

rustc_codegen_utc 是 rustc 的替代代码生成后端,与 rustc_codegen_llvm、rustc_codegen_gcc、rustc_codegen_cranelift 同属一个架构家族。它接入相同的后端接口,将 rustc 的共享编译机制连接到 MSVC 后端(即 “UTC”)。

它参与更广泛的平台生态战略,支持:

  • 与 Windows 工具链生态和 ABI 高度兼容
  • 二进制加固与代码安全特性
  • 链接后合规、分析与维护(含热补丁)
  • 混合项目的无缝 Rust/C++ 互操作
  • 跨语言内联、优化与 SPGO(采样配置引导优化)
  • 调试与崩溃转储分析
  • 性能分析、诊断与覆盖率

这些能力基于 MSVC 技术栈构建多年。将 rustc 连到该后端,Rust 即可开箱即用地复用同一平台投资,获得完美兼容,而无需为每项 Windows 特性并行实现。

最终结果是 Windows 上 Rust 与 C++ 统一的代码生成平台。

Rust 与 C++ 的原生平台演进

微软生产软件需经历严格的安全与质量工作流。Rust 已成为微软一等语言,但 C++ 仍占主导。统一代码生成平台能最小化维护和演进成本。MSVC 与 Windows 持续创新,不断加入新代码生成能力、安全特性、诊断与维护技术。

借助 rustc_codegen_utc,这些投资在 C++ 和 Rust 间形成共同基础。这在操作上减少重复工程,战略上让 Rust 直接融入微软 Windows 原生工程生态。

这对混合项目尤其宝贵,未来多年许多系统将并用两语言。共享后端为系统两侧平等参与所有开发工作流奠定基础。这正是 rustc_codegen_utc 存在的主因:让 Rust 符合微软团队构建、验证、诊断和维护 Windows 软件的工程预期。

更坚实的 Rust 与 C++ 互操作基础

在其他平台,若混合项目用 Clang 构建 C++,两语言已能共用 LLVM 代码生成平台。rustc_codegen_utc 为以 MSVC 为原生编译器的 Windows 原生 C++ 项目带来同样的共享后端机会。

代码生成、平台特性、ABI、异常处理和链接后工具只是互操作挑战的一半。高保真语言级互操作、FFI 契约、绑定、语义差异及构建系统,是我们在内部和全行业攻克的部分问题。详见 Rust 基金会的 互操作性倡议 了解问题空间与社区努力:

https://rustfoundation.org/interop-initiative/

作为微软 Rust 顺畅路径的一部分推广

rustc_codegen_utc 是微软 DevDiv 专门团队的重大投资,自 2026 年初已生产就绪,从 Rust 1.90 起自托管,并作为更广泛内部 Rust 平台的一部分,涵盖 rustc、标准库及工具的安全供应链构建、本地开发集成、生产流水线和通用质量合规工作流。

如今超过 100 个微软项目仓库用它构建,且每周有更多仓库采用。

这是微软对 Rust 完整工程生命周期持续投资的一部分:获取、工具、质量、安全、平台集成、生产部署与长期支持。

rustc_codegen_utc 是此旅程的关键,其差异化简单:将 rustc 连接到微软围绕 Windows 构建数十年的原生后端与平台生态。

这为 Rust 与 C++ 提供统一基础,让 Windows 平台投资覆盖两语言,并为微软将持续构建的混合原生系统提供更强底座。

评论

微软把 Rust 列为一级语言,讨论整体偏欢迎,但质疑集中在“一级”的成色:没有 Visual Studio 支持还算不算一级、后端换成 MSVC 是否真正开放。少数人则把它放进更大的趋势里看——主流操作系统厂商在系统语言上都开始分散下注。

认为这是系统编程语言格局的转折点

  • 所有在 C/C++ 工具链上有话语权的主流 OS 厂商,如今都为新项目提供了 Rust 之外的多样化选项,微软这一步补上了最后一块拼图(较多人)
  • Rust 不只是内存安全的单点工具,它在嵌入式、桌面应用、计算密集型科研、操作系统与驱动、CPU/GPU 高性能任务上都已是顶级水平,是从前辈语言里吸收过教训的全面型语言(较多人)
  • 微软公开确认 Rust 一级支持,也终于让此前关于 MSVC 集成的传闻有了官方说法(较多人) > 所有在 C/C++ 工具链中有角色的主流操作系统厂商,现在都在系统编程语言上有了更多选择。(@pjmlp)

追问“一级”到底意味着什么

  • 如果真是一级语言,为什么 Visual Studio 里没有像样的调试支持?这是最直观的质疑(高赞)
  • 一级地位应当包括 IDE 集成,否则“一级”只是内部口号(较多人)
  • 关键问题是微软会不会把 rustccodegenutc 开放给微软之外使用;不开放的话,生态收益有限(较多人)
  • 有人误以为会出现 rust.net 之类的产物(少数人)

认为后端从 LLVM 换成 MSVC 才是真正的大新闻

  • 相比“一级语言”这个名头,编译器后端改用 MSVC 才是实质变化(较多人)

对微软的执行力与动机保持怀疑

  • 一家做出十年来最粗糙软件的公司宣布支持你的语言,公开庆祝需要勇气,或者需要很多钱(较多人)
  • 老调重弹:这是不是又一次“拥抱、扩展、消灭”的套路(少数人)
  • 采用 Rust 之后,Windows 自带天气应用占用超过 1GB 内存的问题是不是能顺带解决(少数人)
  • 用内存安全语言应对即将到来的失控 AI 群体,应当被当作首要任务(少数人)

有价值的补充

  • HN 用户常把“语言被大厂列为一级”与“工具体验真正到位”分开看,这次争论的实质是后者能否兑现。
  • 文章链接一度打不开,有人顺势调侃该网站自己就该用 Rust 重写——不过它跑在 WordPress 上。