Rust 是微软的一流编程语言。
Rust is tier-1 language at Microsoft

原始链接: https://rustfoundation.org/media/guest-post-rust-is-tier-1-language-at-microsoft/

微软已将 Rust 确立为“一级”语言,使其与 C++ 并列,成为其内部开发的战略支柱。为了加深这种整合,微软推出了 `rustc_codegen_utc`,这是一个新的代码生成后端,允许 Rust 编译器使用原生的 MSVC 后端。 通过使 Rust 与 C++ 使用相同的编译器后端,微软实现了一个统一的工程基础。这消除了对并行 Windows 特定实现的需求,并确保 Rust 能够充分受益于现有的 Windows 工具,包括先进的安全功能、诊断、二进制强化和性能优化。 这种共享后端对于混合 Rust/C++ 项目至关重要,它实现了无缝互操作性,并确保两种语言能够同时利用持续的平台创新。`rustc_codegen_utc` 已经投入生产使用,并在超过 100 个内部代码库中得到应用,它代表了微软在长期、安全且高效的 Windows 原生软件开发方面的重大投入。它巩固了 Rust 在微软成熟工程生态系统中的地位,为构建现代高性能系统提供了稳定的路径。

微软已正式将 Rust 定为“一级”语言,使其与 C++、C# 和 TypeScript 并列,成为内部开发中全面支持的首选语言。这一地位为内部团队提供了通往生产环境的“捷径”,包括安全的工具链、高质量的开发工具以及符合微软严格安全标准的平台集成。 此公告在 Hacker News 上引发了广泛讨论。虽然许多开发者将其视为内存安全和系统编程领域的一个重要里程碑,但也有人对微软软件的臃肿问题表示怀疑,并调侃称 Windows 应用的高内存占用可能会成为 Rust 未来普及的障碍。 技术讨论的焦点在于该语言与现有 C++ 代码库的互操作性、“AI 辅助编程”的复杂性,以及关于微软是会优先在 Visual Studio 中支持 Rust,还是会逐步淘汰该 IDE 并转向 VS Code 的持续争议。总体而言,社区认为这是一个明确的信号,表明 Rust 已成熟为一种重要的通用编程语言,尽管开发者们仍在权衡其陡峭的学习曲线与 Go 等更高级语言在生产力上的优势。
相关文章

原文

By now it’s no surprise that Rust is of strategic importance to Microsoft. From bold mission statements when Azure CTO Mark Russinovich outlined our future strategy for native code, to millions of dollars invested by Microsoft into supporting the Rust Project, over the following years. Watch Mark’s keynote from last year’s RustConf to get a glimpse of some of our core projects powered by Rust. 

Today, Rust sits among C++, C#, and TypeScript as one of the best-supported languages for internal development at Microsoft. This “Tier-1 language” engineering status for Rust means giving internal teams a paved path from local development to production: secure toolchain builds, productive developer tooling, quality workflows, deep platform integration, and compliance with the SDL requirements Microsoft software must meet.

The Windows platform and MSVC have co-evolved for decades, as C and C++ have been the building blocks of our dev platform. As MSVC and Windows develop innovations, we need to ensure that these features and functionality are available across both C++ and Rust, and that we have seamless interoperability between them.

MSVC is the native platform compiler for Windows, and Rust needs to participate fully in that ecosystem as its usage grows across Microsoft: from firmware and drivers, kernel and hypervisors, to microservices and apps. This is extremely important in hybrid Rust/C++ projects. One of our most important investments towards this goal is rustc_codegen_utc.

Introducing rustc_codegen_utc

rustc_codegen_utc is an alternative code generation backend for rustc, in the same architectural family as rustc_codegen_llvm, rustc_codegen_gcc and rustc_codegen_cranelift. It plugs into the same backend interface and connects rustc’s shared compiler machinery to the MSVC backend (aka “UTC“).

It participates in a broader platform ecosystem strategy to support:

  • High compatibility with the Windows tooling eco-system and ABI
  • Binary hardening and code security features
  • Post-link compliance, analysis, and servicing (including Hotpatch)
  • Seamless Rust/C++ interop for hybrid projects
  • Cross-language inlining, optimization, and SPGO (Sample Profile Guided Optimization)
  • Debugging and crash-dump analysis
  • Profiling, diagnostics, and coverage

These capabilities and workflows have been built over many years with the MSVC tech-stack. Connecting rustc to that backend lets Rust build on the same platform investment, with perfect compatibility out of the box, rather than requiring a parallel implementation of every Windows-specific capability.

The result is a unified code generation platform for Rust and C++ on Windows.

Native platform evolution for Rust and C++

Production software at Microsoft moves through extensive security and quality workflows. Rust has become a Tier-1 language at Microsoft, but C++ still dominates after decades of development. Using a unified codegen platform will minimize both maintenance and evolution costs for us. MSVC and Windows continue to innovate. New code generation capabilities, security features, diagnostics, and servicing technologies are added all the time.

With rustc_codegen_utc, those investments land on a common foundation for both C++ and Rust. That matters operationally because it reduces duplicated engineering, but it also matters strategically: Rust participates directly in Microsoft’s Windows-native engineering ecosystem.

This is especially valuable for hybrid Rust/C++ projects, and many systems will use both languages for years to come. A shared backend creates the foundation for both sides of those systems to participate equally in all development workflows.

This alignment is one of the main reasons rustc_codegen_utc exists. It allows Rust to meet the engineering expectations of the environment where Microsoft teams already build, validate, diagnose, and service Windows software.

A stronger Rust and C++ interop foundation

On other platforms, if a hybrid Rust/C++ project builds its C++ code with Clang, both languages can already reach the same LLVM code generation platform. rustc_codegen_utc creates the same shared-backend opportunity for Windows-native C++ projects where MSVC is the native platform compiler.

Codegen, platform quirks, ABI, EH and post-link tooling are only half of the interop challenge. High-fidelity language-level interop, FFI contracts, bindings, language semantics differences… and build systems are just some of the problems that we’re working on internally and across the industry. See the Rust Foundation’s Interoperability Initiative for a quick tour of the problem space and the ongoing community efforts: 
https://rustfoundation.org/interop-initiative/

Rollout as part of the Microsoft Rust Paved Path

rustc_codegen_utc has been a major investment by a dedicated team in Microsoft DevDiv and has been production-ready since early 2026. It has been self-hosted since Rust 1.90 and is part of a broader internal Rust platform that includes secure supply-chain builds of rustc, standard library, associated tools, integration with local development, production pipelines and common quality & compliance workflows in our engineering systems.

More than 100 Microsoft project repositories build with it today. This rollout continues each week as more repositories adopt it.

This is part of a sustained investment in the full engineering lifecycle for Rust at Microsoft: acquisition, tooling, quality, security, platform integration, production deployment, and long-term support.

rustc_codegen_utc is a major part of that journey. Its differentiator is simple: it connects rustc to the native backend and platform ecosystem that Microsoft has built around Windows for decades.

That gives us a unified foundation for Rust and C++, a path for Windows platform investments to reach both languages, and a stronger base for the hybrid native systems Microsoft will continue to build.

If you want to ask questions or share feedback with us, join this dedicated discussion topic on the Rust Project’s Zulip. 

联系我们 contact @ memedata.com