12月25日、海外のテクノロジーメディアThe Registerが「Microsoft wants to replace its entire C and C++ codebase」と題した記事を公開した。この記事では、** Microsoftが全社規模でCおよびC++のコードベースをRustへ移行しようとしている構想と、その背景にある技術戦略**について詳しく紹介されている。

以下に、その内容を紹介する。
Microsoftは、社内に存在するCおよびC++で書かれた膨大なコードを、将来的にすべてRustへ置き換えるという野心的な目標を掲げている。この構想を明らかにしたのは、同社のGalen Hunt氏である。同氏はLinkedInへの投稿で、「2030年までにMicrosoftからCとC++のコードを一行残らず排除することが目標だ」と述べている。
この計画の中核となるのが、AIとアルゴリズムを組み合わせた大規模コード変換戦略である。Hunt氏は、「1人のエンジニアが1か月で100万行のコードを扱える状態」を目標として掲げ、Microsoftの最大級のコードベースを書き換えることを目指しているという。
その実現に向け、Microsoftはすでに専用のツール群を構築している。具体的には、ソースコード全体を対象にスケーラブルなグラフを生成するアルゴリズム基盤と、その上でAIエージェントを動作させ、コード修正を大規模に適用するAI処理基盤である。これらを組み合わせることで、人手では到底不可能な規模のコード変換を現実的なものにしようとしている。
この取り組みを担う人材として、Microsoftはエンジニアの求人も行っている。職務内容は、CおよびC++で書かれた巨大なシステムをRustへ翻訳するためのインフラやツール群の進化・拡張であり、Hunt氏が率いる「Future of Scalable Software Engineering」グループに所属する。このチームの使命は、Microsoftおよび顧客が技術的負債を大規模に解消できる能力を構築することだとされている。
Rustがこの計画の中心に据えられている理由の一つが、メモリ安全性である。CやC++とは異なり、Rustはメモリ安全な言語であり、境界外アクセスやuse-after-freeといった脆弱性を言語レベルで防ぐ仕組みを備えている。こうした欠陥は攻撃者に悪用されやすく、近年では各国政府がソフトウェア安全性向上のため、Rustをはじめとするメモリ安全言語の採用を強く推奨している。
Microsoft自身も以前からRustの活用を推進してきた。2022年にはAzure部門のCTOが、新規プロジェクトのデフォルト言語としてRustを採用すべきだと発言している。また、Cコードの一部を自動的にRustへ変換する研究や、WindowsドライバをRustで開発するためのツール提供など、段階的な取り組みも進められてきた。
もっとも、Microsoftが提供する製品と内部システムの規模を考えると、この計画が容易でないことは明らかである。管理対象となるオンラインポータルだけでも500以上存在し、内部IT資産も膨大だ。自動化では対応しきれないエッジケースが大量に顕在化する可能性も高く、完全移行までの道のりは極めて険しいと見られている。
なお、このプロジェクトに参加するエンジニアの職務条件としては、週3日のレドモンド本社出社が求められ、年収は13万9,900ドルから27万4,800ドルの範囲とされている。
詳細はMicrosoft wants to replace its entire C and C++ codebaseを参照していただきたい。