2010年 ・ 命令型・関数型・マルチ・その他
Rustの歴史
Mozilla で始まった、ガベージコレクタやランタイムを要せずにメモリ安全とスレッド安全を保証するシステム向け言語。所有権の規則をコンパイラが検査する。C++ の資源管理、ML 系の代数的データ型、Erlang 流の軽量な並行処理など、既存言語の要素を組み合わせている。
- 年(初めて公開された年)
- 2010年
- 作った人
- Graydon Hoare
- 組織
- Mozilla
- 系統
- 命令型・関数型・マルチ・その他
年の決め方 GitHub 上の rust-lang/rust の最初のコミット(Graydon Hoare、mozilla.com のアドレス)は2010年6月16日。ただしこの時点で一般に公開されていたかは今回確かめられていない。公式の番号付き初版 0.1 は2012年1月20日、1.0 は2015年5月15日。
Rustの祖先と子孫
影響元をたどれる言語23、影響先をたどれる言語1を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
低水準の性能の制御と、高水準の使いやすさ・安全性の保証を、GC やランタイムなしで両立すること。
“Initial git commit.”
年の根拠の出典: rust-lang/rust リポジトリ(最古のコミットは 2010-06-16 の 'Initial git commit.')
“Rust combines low-level control over performance with high-level convenience and safety guarantees”
目指したことの根拠の出典: Announcing Rust 1.0 (2015-05-15)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
ML ・ 1973年
受け継いだ点: 代数的データ型・パターンマッチ・型推論(SML)
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Scheme ・ 1975年
受け継いだ点: 衛生的マクロ
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
C++ ・ 1985年
受け継いだ点: 参照・RAII・スマートポインタ・ムーブ・単相化
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Erlang ・ 1987年
受け継いだ点: メッセージ渡し・軽量な並行処理
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Haskell ・ 1990年
受け継いだ点: 型クラス・型族(GHC)
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Ruby ・ 1995年
受け継いだ点: クロージャ・ブロックの構文
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
OCaml ・ 1996年
受け継いだ点: 代数的データ型・パターンマッチ・型推論
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
C# ・ 2000年
受け継いだ点: 属性(attributes)
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Swift ・ 2014年
受け継いだ点: オプショナルバインディング
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
一覧にない言語からの影響(名前だけ): Cyclone・ML Kit・Newsqueak・Alef・Limbo・NIL・Hermes
影響を与えた言語
-
Swift ・ 2014年
受け継がれた点: 言語機能の着想(具体的な機能は未記載)
影響を受けた側の資料が述べています ・ 出典: Chris Lattner's Homepage
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語