Microsoftは米国時間11月7日、一部の「Windows」コンポーネントなどの開発において、CやC++の代替としてRustを試用する取り組みについての現況を報告した。
端的に言うと、この取り組みは順調であり、エンジニアらはRustの利用について「全体的に肯定的」な評価を下しているが、不足している機能もあるという。それでも同社はこのプロジェクトを支援し、さらに進めていこうとしている。
Microsoftは今夏、Rustを活用する試験的な取り組みについて明らかにした。同社のさまざまなサービスについて、Rustで書き換えることを検討しようとしていると発表した。
Microsoftのエンジニアは、Rustに関心を寄せた理由について、過去10年ほどにわたって同社が毎年公開してきたパッチのうち、およそ70%はメモリー関連のものだったことなどを挙げていた。Rustはメモリー関連の問題を防ぐ目的などで構築された。
MicrosoftはどのサービスでRustを使用しようとしているのか明らかにしていないが、試験的な取り組みの状況についてユーザーに情報を公開していくとしている。
Microsoftの「Hyper-V」チームのソフトウェアエンジニアであるAdam Burch氏は同日付けのブログ記事に「私は、Windowsのコードベースにおける低水準システムコンポーネント(残念ながらどれかはまだ言えない)を試験的に書き直すという作業を担当している」と記している。
Burch氏は、「プロジェクトはまだ完了していないものの、私がRustを使って抱いた感想は概ね肯定的だと言える」と続けている。
同氏は「総じて言えば、新規コンポーネントや、クリーンなインターフェースを備えた既存コンポーネントはRustへの移植が容易になる」とも述べている。
それでも、すべてがスムーズに進んだわけではない。スムーズに進んだと考えるのは非現実的と言えるだろう。Burch氏は、安全なトランスミュート機能や、C形式の共用体に対する安全なかたちでのサポートなどが不十分であるとともに、普及を続けているMicrosoftのコードテスト用インフラで必要となる、大規模なユニットテストに対するサポートが不足していると指摘している。
同氏は、マイクロコントローラーのほか、カーネルやハイパーバイザーなどの低レベルのシステムでRustを利用することに関心があるとしている。Rustが成長すれば、そのセキュリティを重視した機能などが非常に魅力的になりそうだ。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。