微软近日正式宣布,将Rust提升为公司内部的Tier-1级编程语言。自此,Rust与C++、C#和TypeScript并列,成为微软内部开发中支持最完善的语言选项之一。这一地位的提升不仅是一个标签,更意味着开发团队能够获得从本地环境到生产系统的完整、受支持的技术路径。

从实验性项目到核心战略语言

获得Tier-1地位后,Rust开发将标配安全工具链、高效编辑器、调试器,并完全符合微软安全开发生命周期(SDL)要求。微软首席工程师兼Rust工具链团队负责人Victor Ciura指出,此举消除了工程团队在采用Rust时的最后摩擦,使其享有与数十年积累的C++开发同等的工程投入。

这一决策并非突发奇想。多年来,微软持续在Rust上投入重金。Azure首席技术官Mark Russinovich曾公开呼吁停止在新项目中启动C或C++开发,杰出工程师Galen Hunt更设定了到2030年消除微软代码库中所有C和C++代码的目标。目前,Rust已广泛应用于Windows内核、Azure服务及安全关键固件的生产组件中。

行业数据显示,内存相关错误导致了超过70%的严重安全漏洞。Rust的所有权模型和借用检查器能在编译阶段捕获此类错误,微软在Windows内核工作中已验证了这一优势。此前,Rust在微软内部主要应用于高风险领域,如Windows内核的图形和字体解析例程、Surface设备固件,以及Microsoft 365栈中用于扩展服务规模的Oxidizer组件。

技术突破:直连MSVC的统一代码生成平台

实现这一转变的技术核心,是名为rustc_codegen_utc的新编译器后端。微软工程师将Rust前端直接连接到由MSVC驱动的UTC代码生成器,从而在Windows平台上为Rust和C/C++提供了统一的代码生成基础。

在此后端推出前,Windows上的Rust依赖LLVM,虽性能良好,但需为每个Windows特定功能提供并行实现。新的集成方案使Rust能够继承微软数十年来在原生态工具链上的全部投资,实现了跨语言内联、性能分析引导优化、热补丁及高级安全加固等功能,且无需重复开发。Ciura表示,这种连接避免了从头重建每个Windows特性的繁琐过程,确保了兼容性精确无误,调试体验与C++保持一致。

据悉,该新代码生成器将于2026年初达到生产就绪状态。目前,已有超过100个微软项目存储库使用其进行构建,采用率每周持续增长。值得注意的是,从Rust 1.90版本开始,编译器本身即可使用rustc_codegen_utc进行构建,这一自托管里程碑证明了该工具链在处理复杂内部用例时的成熟度。

挑战与未来:系统编程的新基线

尽管方向明确,挑战依然存在。C++仍占据Windows代码库的巨大份额,移植或重写系统伴随时间与风险。此外,必要的低级交互仍需使用Unsafe Rust,这可能重新引入部分安全风险,微软工程师在内部指南中已对此作出警示。

然而,随着监管机构和客户对安全开发实践的关注度提升,内存安全性已成为董事会级别的优先事项。Rust在不牺牲系统代码预期性能的前提下,显著减少了漏洞类别。对于微软而言,Tier-1地位的确立,标志着Rust已成为未来十年Windows、Azure及更广泛生态系统中的战略语言。

如今,微软内部开发者面临更清晰的选择:使用Rust启动新服务或驱动程序,即可获得一流的工具支持和合规保障。这一转变不仅将加速内部采用,影响针对Windows的独立软件供应商生态系统,也向整个行业发出信号:在全球最大软件公司之一的原生代码开发中,Rust已不再是试点项目,而是新的基线。