さらに錆びる
Rust は私たち全員が私たちを救ってくれると期待している言語であり、さらに 2 つのゴールを獲得したところです。 Chromium プロジェクトはそれをサポートすることを決定し、Rust の本拠地である Mozilla は Servo プロジェクトを活性化しました。
Linus Torvalds は長い間 C の愛好家であったため、Rust が Linux に浸透すること自体は驚くべきことです。 結果として、Linux カーネルで使用できる唯一の言語は C でしたが、現在では Rust が浸透しつつあります。このようなささやかな、しかし重要な進歩は、言語が熱心な初期採用者の手から押し出されるようなものです。主流。
さて、Rust が別の「大きな」プロジェクトである Chromium (Chrome と Edge のオープンソース部分) に参加したというニュースがあります。 Google のセキュリティ ブログには次のように書かれています。
「今後、Chromium プロジェクトが Chromium での C++ からのサードパーティ Rust ライブラリの使用をサポートすることを発表できることを嬉しく思います。そのために、現在、プロダクション Rust ツールチェーンをビルド システムに追加することを積極的に進めています。 「これにより、来年中には Chrome バイナリに Rust コードを含めることができるようになります。私たちはゆっくりと始めており、準備ができたらどのライブラリを検討するかについて明確な期待を立てています。」
最初に述べたように、Rust は私たちを救ってくれると期待していますが、正確には次のとおりです。
Rust を Chromium に導入する目的は、開発をスピードアップする (コードの量を減らす) ために、2 つのルールを満たす、よりシンプル (IPC なし) かつ安全 (C++ 全体的に複雑さが少なく、サンドボックスにメモリ安全性のバグがない) の方法を提供することです。 Chrome の作成作業が減り、設計ドキュメントが減り、セキュリティ レビューが減り、Chrome のセキュリティが向上します (メモリ安全性に関するバグを発生させずにコードの行数が増加し、コードのバグ密度が減少します)。 そして私たちは、サードパーティの Rust ライブラリを使用してこの目標に向けて取り組むことができると信じています。
うわー...Rust は単なる別の言語だと思っていたでしょう。 C または C++ を使用する場合の主な問題はメモリの安全性です。 Google Android チームによる最近のブログ投稿を引用すると、次のようになります。
「10 年以上にわたり、メモリの安全性の脆弱性は、製品全体および業界全体の脆弱性の 65% 以上を常に占めてきました。」
同じ投稿では、Rust、Kotlin、Java などのメモリセーフ言語が C/C++ に代わって、そのような問題が着実に減少していることも報告しています。 Android 12 は、新しいコンポーネントのコア開発のために Rust をサポートします。 現在、Android の Rust コードにはメモリ安全性の脆弱性はありません。
しかし、奇跡の治療法はすべて順風満帆というわけではありません。 このブログ投稿では、C++ と Rust コードを相互作用させる際の困難のいくつかについて概説しています。 双方向の相互運用を許可すると、問題が発生する危険があります。 今のところ相互運用は、安全な Rust コードを呼び出す C++ コードから行われます。 この投稿では、物事がうまくいかない可能性を列挙し、物事を制御するにはツールが必要であるため、Google が C++ から Rust への安全性を高めるための実験として Cubit に投資していることを示唆しています。
2 番目の良いニュースは、Servo が再び開発中であるということです。 覚えていない方のために付け加えておきますが、Servo は Rust で書かれた Firefox 用の新しいレンダラとなることを意図していました。 Mozilla がコードを作成することよりも、ほとんど不要な管理層に多額の資金を支払うことの方が重要であると判断したため、プロジェクトは解散されました。 彼らが Rust を一般コミュニティに引き渡し、さらに良いことを行う機会を失ったのとほぼ同じ時期でした。 Rust で書かれた新しいレンダラーは、Firefox がユーザーベースを現在のわずかな割合から、より立派なものに引き上げるために必要なものだったかもしれません。 Servo の復活は Mozilla が軌道を取り戻したことの表れであると報告できればいいのですが、そうではありません。 ブログ投稿には次のように書かれています。
「Servo プロジェクトに関するエキサイティングなニュースを共有したいと思います。今年は、新たな外部資金のおかげで、開発者チームが Servo に積極的に取り組んでいきます。最初のタスクは、プロジェクトとその周囲のコミュニティを再活性化することです。プロジェクトの新しい協力者やスポンサーを呼び込むことができます。」
他の人たちは Mozilla よりも Servo を信じているようです。 模倣の大部分は、イガリアがプロジェクトに取り組むために4人の人件費を支払ったことによるものである。 なぜ? それは、彼らがオープン ソース コードを信じているからのようです - Mozilla さえ信じていればの話ですが。
未来はますます錆びたように見えます...
Chromium プロジェクトでの Rust の使用をサポート
サーボは2023年に進化
イガリアはセルボを中心に計画
早くて安全に錆びる
Linux Foundation でサーボのホームを変更
Mozilla の人員削減と焦点の変更
Mozilla の人員削減 - フォールアウト
Mozilla Firefox が Gecko をサーボに置き換える
Mozilla が新しいブラウザ エンジンである Servo を開発
I Programmer の新しい記事に関する情報を入手するには、毎週のニュースレターに登録し、RSS フィードを購読し、Twitter、Facebook、または Linkedin でフォローしてください。
もっと言う必要がありますか? 人工知能のための Python はまさに天国のような組み合わせです。 この自由でマイペースなコースは、この関係を具体化します。
JetBrains は、iOS 向け Compose Multiplatform のアルファ版をリリースしました。 最新のプラットフォームにより、Compose Multiplatform を使用して iOS、Android、デスク用のクロスプラットフォーム ユーザー インターフェイスを構築できるようになりました [ ... ]
Disqus を使用してコメントを作成するか、既存のコメントを表示する
または、コメントを [email protected] に電子メールで送信してください。