Google が Chromium プロジェクトに Rust を導入

Google は現在、Chromium プロジェクトで C++ からサードパーティの Rust ライブラリをサポートしています。

Dana Jansens は、Google セキュリティ ブログに書いていますが、まず、チームがビルド システムに Rust ツールチェーンを追加していると書いています。 Rust コードは、翌年中に Chrome バイナリに表示されます。

Rust ライブラリを Chromium に追加することは、Google にとって大したことです。 これは、Microsoft と Amazon Web Services による Rust プログラミングへの多大な投資に続くものです。 Jansens が明確にしていること: Google は必ずしも Rust 自体をサポートしているわけではありませんが、サードパーティの Rust ライブラリをサポートしています。

安全にプレイすることは、ヤンセンの投稿の口調に表れています。 彼らは「ゆっくり」と始めており、検討するサードパーティのライブラリを厳選しています。

Mozilla は当初、タイプセーフな言語である Rust を開発しました。 Microsoft と Amazon Web Services は Rust に投資しています。 これが Mozilla について語っていることは、いくつかの点で非常に単純です。 さびは成功です。 しかし、それ以外の点では、市場シェアが縮小している Firefox については、ある程度の不確実性があります。

Google が Rust ライブラリを採用している理由は 2 つあります。 Rust ライブラリを受け入れる動きは、Chromium での開発のスピードアップとセキュリティの向上に役立つと期待されています。 Jansens 氏は、成長に関して、記述するコード、設計ドキュメント、およびセキュリティ レビューの減少を挙げています。 保護のため: より具体的には、メモリの安全性に関するバグのないコードの行数を増やすと同時に、コードのバグ密度を減らす機会です。

たとえば、新しいバグの導入などにより、シフトに懐疑的な人もいます。 Lolinder は Hacker News に次のように書いています。

「Rust で書き直すことは、特定のプロジェクトにとって必ずしも良い考えではありません。Google は、Mozilla ほど Rust で大量の Chrome を積極的に書き直すことはほとんどありません。

その理由は、バグは主に新しいコードに存在し、長期間変更されていないコードには存在しないためです。 Rust で書き直すことで潜在的なメモリの問題を解決できるかもしれませんが、新しいリグレッションが発生する可能性が高く、さらに悪化する可能性があります。 独自のコードを安全な言語で書くことに集中することは、はるかに理にかなっていて、とにかく大幅な書き換えが必要な場合にのみ、徐々に移行します。」

しかし、Hacker News の他のコメンテーターは、Chromium チームの功績を認めています。 Google のベテランの 1 人は次のように述べています。と聞かれ、大騒ぎ。 この結果は、長期的にはユーザーにとって良いものになるでしょう。」

Jansen は、相互運用性は「今のところ」C++ から Rust への一方向のみでサポートされると書いています。 興味深いことに、Google は「非常に」実験的な C++/Rust 双方向ツールである Cubit に投資しています。 上位の貢献者は Google のエンジニアです。

Rust と C++ は、相互運用性に影響を与えるさまざまな概念を利用しています。 これらの違いがどのように修正されるかは、相互運用のモデル化方法にいくつかの点で依存するため、2 つの言語は少なくともそれらの類似点または支持できない相違点を理解できます。

特に、Rust と C++ の間のほとんどの相互運用性は、狭義に定義された API に起因します。これは、Google が相互運用性に関して直面している課題がいかに深刻であるかを示しています。 言語の違いにより、狭さが必要になります。

Jansen は次のように書いています。 後者は、Chromium の C++ の大部分の記述方法と互換性がありません。」

グループ スケッチで作成。

Leave a Comment

Your email address will not be published. Required fields are marked *