1987年 ・ 関数型・マルチ・その他
Erlangの歴史
電話交換機のソフトを書くため、Ericsson の研究所で Prolog の拡張として始まった言語。軽量なプロセス同士がメッセージだけをやり取りする形で並行処理を書き、止まらないシステムを作ることを狙った。
- 年(初めて公開された年)
- 1987年
- 作った人
- Joe Armstrong、Robert Virding、Mike Williams
- 組織
- Ericsson(計算機科学研究所)
- 系統
- 関数型・マルチ・その他
年の決め方 1986年に Armstrong がPrologに並行プロセスを足す実験を始め、1987年には Erlang という名が付き、Prolog 上の実装が使えるようになった(社内)。独自の構文を持つのは1990年。外部へのオープンソース公開は1998年とされるが本調査では未確認。
Erlangの祖先と子孫
影響元をたどれる言語1、影響先をたどれる言語3を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
ソフトウェアの誤りが避けられない前提で、あるプロセスが落ちたら別のプロセスが直す(let it crash)という考え方で耐障害性を作る。
“By 1987 the term Erlang had been coined”
年の根拠の出典: Joe Armstrong, Making reliable distributed systems in the presence of software errors (2003)
“The answer is let it crash.”
目指したことの根拠の出典: Joe Armstrong, Making reliable distributed systems in the presence of software errors (2003)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
Prolog ・ 1972年
受け継いだ点: 出発点(Prolog に並行プロセスを足す実験)と初期の構文
影響を受けた側の資料が述べています ・ 出典: Joe Armstrong, Making reliable distributed systems in the presence of software errors (2003)
一覧にない言語からの影響(名前だけ): CSP・PLEX・Strand
影響を与えた言語
-
Rust ・ 2010年
受け継がれた点: メッセージ渡し・軽量な並行処理
影響を受けた側の資料が述べています ・ 出典: The Rust Reference: Influences
-
Elixir ・ 2011年
受け継がれた点: 実行基盤(Erlang VM)と並行処理の仕組み
影響を受けた側の資料が述べています ・ 出典: An interview with José Valim, Creator of Elixir (Evrone)
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語