T1

Rust 1.0 リリース

出典Rust Foundation, rust-lang/rust-artwork (Wikimedia Commons) · CC BY 4.0 · Commons で見る ↗

メタデータ

日付
年代
2010s
Tier
T1
出典数
07
関連項目
03

Rust(ラスト)は、ガベージコレクション にもランタイムにも頼らずにメモリ安全性を確保することを目指した、システムプログラミング言語である。Graydon Hoare が2006年に個人の趣味として書き始め、2009年後半から Mozilla が開発を支えた。最初の安定版 Rust 1.0 は 2015年5月15日 に Rust コアチームが公開した。1.0 の発表文は Rust を、信頼できて効率的なシステムを作りやすくすることを狙う新しいプログラミング言語と紹介し、性能に対する低水準の制御と、高水準の使いやすさ・安全性の保証を兼ね備えると書いている。

Rust の名を知る人の多くが最初に出会うのは、「所有権」という言葉である。この記事では、Rust がどこから来て、1.0 で何が約束され、所有権がなぜ設計の中心にあるのかを追う。

時期出来事
2006年Graydon Hoare が個人プロジェクトとして開始
2009年後半Mozilla が Hoare の開発に給料を出し始める
2010年7月Mozilla 年次サミットで Hoare が Rust を紹介
2014年後半パッケージマネージャ Cargo とリポジトリ crates.io を発表
2015年5月15日Rust 1.0 公開。同日に 1.1 ベータ
2021年2月8日独立の非営利団体 Rust Foundation が発足
2022年12月Linux 6.1 が Rust の初期サポートを取り込む

個人の趣味として始まった(2006〜2009年)

Hoare は2016年、Rust の公開前の開発履歴を「rust-prehistory」として GitHub に公開した。その説明によれば、Rust は2006年から2009年までは彼の個人プロジェクトで、2009年後半以降は Mozilla の非公開のプロジェクトだった。2009年の半ばから後半にかけて作業量が増えたのは、Mozilla が勤務時間として給料を出すようになったからだという。

Hoare はこの履歴を、壮大な計画の実行ではなく、何年も同じところを回りながら少しずつ何かがそこにあると確信していく過程として読んでほしいと書いている。何年も他の言語を批判し、どうすれば正しく、あるいは違う形で作れるかを書き留めてきた末に、実際に動くものを作れると自分を説得できるまでの記録である。

2010年、Mozilla 年次サミット

Hoare が Rust を紹介したのは、2010年7月の Mozilla 年次サミットだった。スライドの題は「Project Servo」。そこで彼は、コンパイルされ、並行で、安全なシステムプログラミング言語を4年半書いてきたこと、昨年 Mozilla の小さなグループが興味を持ったことを語っている。ブラウザを書き直すわけではない、と彼は念を押した。

スライドが挙げた動機は二つある。一つは C++ への不満で、Hoare は C++ を賞味期限をとうに過ぎた言語と呼び、メモリ安全でなく、所有権の方針も並行処理の制御も無い、と書いた。もう一つは、新しい言語の多くが仮想マシンへの依存、複雑な GC とポインタの多いデータ構造によるメモリ効率の悪さ、並行性の軽視など、どれかの理由で彼の関心のある領域に合わないことだった。Rust は新しいものを発明する言語ではなく、Mesa・CLU・Erlang・Newsqueak・Limbo といった1970〜90年代の言語から、既に分かっている教訓を拾い集める言語だと、Hoare は説明している。

2015年5月15日 ── Rust 1.0

1.0 の発表文は、Rust の何が他と違うかを型システムだと書く。何世代もの C・C++ プログラマーが積み上げてきたベストプラクティスを精錬し、明文化したものだという。経験のあるプログラマーはデバッグの時間を節約でき、初心者は小さな誤りが謎のクラッシュにつながる心配をせずに低水準のコードを書ける。そしてそれを、ガベージコレクタもランタイムも要求せずに実現するので、Rust のライブラリを C の置き換えとして使える。

1.0 が意味したのは、何よりも変動の終わりだった。それまでの Rust は試行錯誤を重ね、言語も標準ライブラリも絶えず変わっていたため、Rust で書いたプロジェクトの保守は難しかった。発表文は、1.0 を安定性の約束の正式な始まりとし、以後、互換性を壊す変更はおおむね対象外になると宣言した。

1.0 で決まったこと中身
安定性の約束互換性を壊す変更はおおむね行わない(コンパイラの不具合などの例外はある)
定期リリースFirefox や Chrome と同じ列車方式で、6週間ごとに新版を出す。同日に 1.1 ベータを公開
Cargo と crates.io依存関係を1行で追加できるパッケージマネージャと、中央のパッケージリポジトリ
開かれた運営重要な決定は RFC として公開の場で議論し、分野ごとのサブチームが担う

発表文は最後に、前の版以降に変更を寄せた人々の名を長く並べている。その中には Graydon Hoare の名もある。

所有権と借用

Rust の安全性の中心にあるのが 所有権 である。公式の解説書『The Rust Programming Language』は、メモリ管理には二つの方法が知られていると書く。実行中に使われなくなったメモリを探すガベージコレクタと、プログラマーが明示的に確保・解放する方式である。Rust はそのどちらでもない第三の方法を取る。メモリは所有権の規則によって管理され、その規則をコンパイラが検査する。

規則中身
所有権 1値にはそれぞれ所有者がいる
所有権 2所有者は同時に一つだけ
所有権 3所有者がスコープを抜けると、値は破棄される
参照 1ある時点で持てるのは、可変の参照一つか、不変の参照いくつかのどちらか
参照 2参照は常に有効でなければならない

参照を作ることを、解説書は 借用 と呼ぶ。借りたものは使い終われば返すし、自分のものにはならない。参照の規則が守られていれば、複数の スレッド が同じデータを同時に書き換えるデータ競合は起こりえない。解説書によれば、Rust はデータ競合を含むコードのコンパイルを拒否する。誤りを実行時ではなくコンパイル時に見つける ── この発想が、型システム と並んで Rust を特徴付けている。

1.0 の後

Stack Overflow の2022年の開発者調査は、Rust が「most loved」の言語の座について7年目で、87%の開発者が使い続けたいと答えたと書いている。2021年2月8日には、Rust 言語とそのエコシステムを支える独立の非営利団体 Rust Foundation が発足し、AWS・Huawei・Google・Microsoft・Mozilla が創設メンバーとなった。2022年12月には Linux 6.1 が Rust の初期サポートを取り込んでいる。その経緯は Linux カーネルへの Rust の採用 に詳しい。

同時代の言語の中での位置は プログラミング言語の年表 にある。Hoare が賞味期限切れだと書いた C++ の来歴もあわせて読むと、Hoare の不満がどこから来たのかが見えてくる。

よくある質問

Rust とはどんな言語ですか。
低水準の性能制御と高水準の安全性を両立させることを狙ったシステムプログラミング言語です。1.0 の発表文は、ガベージコレクタもランタイムも必要とせず、C の置き換えとしてライブラリを使える点を特徴に挙げています。メモリは所有権の規則で管理され、その規則はコンパイラが検査します。
Rust は誰が作ったのですか。
Graydon Hoare が2006年に個人の趣味として始めました。2009年後半から Mozilla が給料を出して開発を支え、2010年7月の Mozilla 年次サミットで本人が紹介しました。1.0 を出したのは、その後に形成された Rust コアチームです。
Rust 1.0 はいつリリースされ、何が変わったのですか。
2015年5月15日です。それまで言語と標準ライブラリは絶えず変わっていましたが、1.0 で安定性の約束が始まり、互換性を壊す変更は原則として行わないことになりました。同時に6週間ごとの定期リリースに移行し、同じ日に 1.1 ベータも公開されました。
所有権(ownership)とは何ですか。
Rust のメモリ管理の仕組みです。値にはそれぞれ所有者が一つだけあり、所有者がスコープを抜けると値は破棄されます。ガベージコレクタが実行中に不要なメモリを探すのでも、プログラマーが手で解放するのでもない第三の方法で、規則の検査はコンパイル時に行われます。

出典

  1. 一次資料Announcing Rust 1.0 — The Rust Core Team, May 15, 2015

    1.0 の公開、GC とランタイムを持たないこと、安定性の約束、6週間のリリースと 1.1 ベータ、Cargo と crates.io、RFC 制度

    取得日: 2026-10-05

  2. 一次資料graydon/rust-prehistory — historical archive of Rust pre-publication development, 2006-2009

    2006〜09年の個人プロジェクト期と、2009年後半からの Mozilla の資金提供

    取得日: 2026-10-05

  3. 一次資料Hoare, G. (2010). Project Servo: Technology from the past come to save the future from itself — Mozilla Annual Summit, July 2010 (slides)

    Rust の最初の紹介。4年半の開発、C++ への不満、先行言語からの借用

    取得日: 2026-10-05

  4. 一次資料Hello World! — Rust Foundation, February 8, 2021

    取得日: 2026-10-05

  5. 三次資料Rust (programming language) — Wikipedia

    取得日: 2026-08-08

最終更新:

共有