Skip to content
Tech News
← Back to articles

Rust is tier-1 language at Microsoft

read original get Programming Rust, 2nd Edition (O'Reilly book) → more articles
Why This Matters

Microsoft has formally elevated Rust to "Tier-1" internal engineering status alongside C++, C#, and TypeScript, meaning it gets a supported path from local development to production including secure toolchains, tooling, and SDL compliance. To make Rust a first-class citizen on Windows, Microsoft is building rustc_codegen_utc, a new rustc backend that targets the MSVC compiler backend (UTC) instead of LLVM. This signals that memory-safe Rust is becoming structural to Windows development, from firmware and drivers to apps.

Key Takeaways
Worth a Look

Programming Rust, 2nd Edition (O'Reilly book) — With Rust now a tier-1 language at Microsoft, it's a great time to actually learn it properly. This O'Reilly guide by Jim Blandy, Jason Orendorff, and Leonora Tindall walks through ownership, borrowing, traits, and concurrency with real code, making it a solid desk reference for systems developers moving from C++ to Rust.

See Programming Rust, 2nd Edition (O'Reilly book) on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

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)

... continue reading