HN精选|Rust晋升微软一等语言

Rust与C++/C#/TS同级,rustc直连MSVC后端

Rust 基金会官网 9 月 10 日刊登了一篇微软的客座文章(作者 Victor Ciura):Rust 正式成为微软内部的”Tier-1 语言”,与 C++、C#、TypeScript 并列。这不只是公关措辞——配套发布的还有 rustc_codegen_utc,一个把 Rust 编译器直接接入 MSVC 后端的代码生成器。

背景:从口号到制度

微软对 Rust 的投入早有迹可循:Azure CTO Mark Russinovich 曾公开宣示”用 Rust 重写一切新 native 代码”的战略,微软也向 Rust 项目投入了数百万美元。而”Tier-1″是微软工程体系里的正式等级,意味着 Rust 团队能拿到一条从本地开发到生产环境的”铺装道路”:安全的工具链构建、高效的开发工具、质量工作流、深度平台集成,以及满足微软软件必须遵守的 SDL 安全开发生命周期要求。

技术分析:rustc_codegen_utc 是什么

Windows 平台与 MSVC 编译器协同进化了数十年,C/C++ 一直是这个开发平台的基石。Rust 的使用如今遍布微软——从固件、驱动、内核、hypervisor 到微服务和应用——微软需要确保 MSVC 和 Windows 的每一项新能力同时惠及 C++ 和 Rust,并保证两者无缝互操作。

核心投资就是 rustc_codegen_utc:rustc 的一个替代代码生成后端,与 rustc_codegen_llvm、rustc_codegen_gcc、rustc_codegen_cranelift 同属一个架构家族。它插入相同的后端接口,把 rustc 的共享编译器机器接到 MSVC 后端(代号 UTC)上,从而支持:

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

这些能力是 MSVC 技术栈多年积累的结果。把 rustc 接到同一个后端,Rust 开箱即获得完美兼容,不必为每个 Windows 专属能力做平行实现——最终形成 Rust 与 C++ 在 Windows 上的统一代码生成平台。C++ 仍占主导,但统一后端能同时降低维护与演进成本。

社区反响

HN 上 320 条评论。pjmlp 点出战略意义:”所有同时在 C/C++ 工具链里有角色的主流操作系统厂商,现在都已在系统编程语言上完成了多元化布局。”swiftcoder 问了关键问题:”rustc_codegen_utc 会向微软之外开放吗?”ComputerGuru 则吐槽现实落差:”那 Visual Studio 里的 Tier-1 调试支持什么时候来?”the__alchemist 给出肯定评价:”抛开复杂 trait 和 async 的毛边,Rust 在嵌入式、桌面应用、计算密集型科学程序等领域已是 S 级语言。”也有网友发现官网一度被流量打挂,调侃”也许该用 Rust 重写——他们用的是 WordPress”。

启示

继 Linux 内核、Windows 内核组件、Android 之后,”Tier-1″的制度化认定标志着 Rust 从”被允许使用”进入”默认选项”阶段。值得关注的后续有两个:一是 rustc_codegen_utc 是否开源——它将决定整个 Rust 社区能否共享 Windows 平台的一体化红利;二是 Visual Studio 的一等调试体验何时补齐——那才是普通开发者感知最强的”Tier-1″时刻。

原文链接:Rust Is Tier-1 Language at Microsoft
HN 讨论:582 points · 320 comments

Leave a Reply

Your email address will not be published. Required fields are marked *