プログラミング言語Rustとは?
PythonやPhpよりRustでバッチ処理を作った方が圧倒的に早いので、ちゃんと学ぼうとしているときの覚書。 Gemini 3 Pro Previewと対話。 1. プログラミング言語Rustとは? 一言で言えば、 C/C++と同等のパフォーマンス を持ちながら、コンパイル時に メモリ安全性を保証 するシステムプログラミング言語。 「最も愛されるプログラミング言語」で長年1位を獲得し続けている。 参考: Rust (プログラミング言語) - Wikipedia 2006年:Mozillaで開発がスタート。 2015年:安定版となるRust 1.0がリリース。 2022年:Linux Kernel 6.1 にて、C言語に次ぐ「第2の公式言語」としてRustがマージ。 2025年:Microsoftは2030年までに自社の主要コードベースからCおよびC++を全面的に排除し、Rustへ移行する長期方針。 2. Rustの技術的特徴 ① 所有権システム(Ownership & Borrowing) ルール : 値には必ず「所有者(変数)」が1つだけ存在する。 所有者がスコープを抜けると値は破棄(ドロップ)される。 借用(Borrowing) : 参照渡しのような機能。 「不変の参照は複数作れる」が、「可変の参照は同時に1つしか作れない」というルール(RWLockのような概念)をコンパイル時に強制する。 効果 : これにより、GCなしでのメモリ解放を実現し、さらにデータ競合(Data Race)をコンパイルエラーとして検出する。 例えると、メモリ上のデータは「1冊の貴重な本」。 プログラミング言語の世界(C++やJavaなど)では、この本をコピーしたり、みんなで同時に書き込んだりできるが、Rustの世界は物理法則に忠実。 所有権(Ownership)と ムーブ(Move) : 本を持てるのは、常に世界でたった一人だけ。 最後に本を持っていた人が責任を持って捨てる(メモリを解放)。 借用(Borrowing) : 見るだけなら、何人でも同時に貸していい。 貸している間、所有者も本を捨てたり書き換えたりできない(読んでいる人が困るから)。 可変の借用(Mutable Borrowing) : 書き込みたいなら、貸せるのは「たった一人」だけ。...