RustとC++の共存をどう実現? Microsoftが明かす統合戦略:Microsoft社内ではRustが「Tier-1言語」に(2/2 ページ)
Microsoftは「Windows」の開発においてプログラミング言語「Rust」をTier-1言語に指定し、エンジニアリング基盤の統合を進めている。数十年分のC++資産との共存を図る技術的アプローチとはどのようなものなのか。
MSVC基盤に直結する「rustc_codegen_utc」の仕組み
Windows環境におけるネイティブプラットフォームコンパイラの中核はMSVCだ。MicrosoftはRustの公式コンパイラである「rustc」をWindowsエコシステムへと完全に組み込むために、「rustc_codegen_utc」と呼ばれる独自のコード生成バックエンドを開発してきた。
rustc_codegen_utcは、LLVMを利用する「rustc_codegen_llvm」やGCCを利用する「rustc_codegen_gcc」などと同じ設計思想に基づいた代替コード生成バックエンドだ。rustcのフロントエンドと同一のバックエンドインタフェースを介して接続し、MSVCの中核を成すコード生成・最適化エンジン「UTC(Universal Turbo Compiler)」へと直接コードを渡すアーキテクチャを採用している。
Windows向けに書かれたRustのコードは、C++とまったく同じコンパイラバックエンドを経由して機械語へ変換される。この統合により、Windowsとの高度なアプリケーションバイナリインタフェース(ABI)互換性が確保される他、プロセスを再起動せずに更新する「Hotpatch」や最適化技術「SPGO」、共通のデバッグ・クラッシュ解析環境といったMSVCの強力な機能をRustでもそのまま利用できる。
セキュリティ対策や最適化技術を両言語で個別に実装する「二重投資」を排除し、単一基盤で効率的に運用できる点も大きなメリットだとしている。
100超のプロジェクトで稼働、Rust 1.90でセルフホストも達成
rustc_codegen_utcは、Microsoftの開発者部門に所属する専任チームによる重点的な投資の成果であり、2026年初頭からすでに本番環境での利用に耐え得る品質に達している。
現在では単なるコンパイラにとどまらず、rustc本体や標準ライブラリ、関連ツールの安全なサプライチェーンビルド、ローカル開発環境との連携、本番パイプライン、さらには同社開発システム全体の品質およびコンプライアンスワークフローを網羅した包括的な「社内Rustプラットフォーム」の一環として組み込まれている。社内の100を超えるプロジェクトリポジトリがrustc_codegen_utcを用いてビルドを行っており、導入するリポジトリ数は毎週増加を続けている。
チューラ氏は「WindowsエコシステムとRustの統合により、ハイブリッドなネイティブシステムにとって強固な基盤が確立された」と総括する一方で、「バックエンドの共通化でバイナリレベルの互換性が整ったとしても、言語レベルでの相互運用性、外部関数インタフェース(FFI)の取り決め、バインディングの自動生成、言語セマンティクス(意味論)の相違の吸収、ビルドシステムの統合など、解決すべき課題は依然として多岐にわたる」と指摘した。
これらの問題に社内だけで取り組むのではなく、Rust Foundationが主導する「Interoperability Initiative(相互運用イニシアチブ)」などを通じて、オープンソースコミュニティー全体と協力しながら課題解決を進めていくという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる
Rustはどのようなプログラミング言語なのでしょうか? 本連載のスタートとなる今回は、Rust言語の概略と、手元にRustの動作環境構築までを紹介します。導入で利用可能になるコマンドと、最初のHello, World!プログラムも取り上げます。
「普及しない不安」がRust最大の懸念事項に 「State of Rust 2025」
Rustプロジェクトの調査チームは、プログラミング言語「Rust」の利用状況に関する年次調査「State of Rust 2025」の結果を発表した。
RustでWebAssembly――「Rust and WebAssembly」を体験する
第5回は、WebAssemblyにおいて最も人気があるとされるRustにおける開発例を紹介します。RustとJavaScriptの関数を相互に呼び出す事例を紹介します。
PythonでもTypeScriptでもない、2025年「最も人気のプログラミング言語」
プログラミング言語の人気ランキング「TIOBEインデックス」の2026年1月版が公開された。2025年の「プログラミング言語オブ・ザ・イヤー」はランキングにおいて前年比で最大の増率(2.94ポイント増)を記録したという。