2007年 ・ 関数型
Clojureの歴史
Rich Hickey が2005年に設計し2007年に公開した、JVM などの上で動く Lisp の方言。不変データと純粋関数を基本とし、可変な状態は専用の構成要素で扱う。どの先行 Lisp の直系でもなく、互換性を求めなかった。
- 年(初めて公開された年)
- 2007年
- 作った人
- Rich Hickey
- 組織
- (個人。のち Cognitect)
- 系統
- 関数型
年の決め方 Hickey 本人の HOPL IV 論文に「2005年に設計を始め、2007年に公開」とある。
Clojureの祖先と子孫
影響元をたどれる言語12、影響先をたどれる言語1を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
実務家が使える汎用の関数型言語を、ホスト言語(Java など)の上に作ること。
“Initially designed in 2005 and released in 2007”
“Clojure was designed to be a general-purpose, practical functional language”
目指したことの根拠の出典: Hickey, A History of Clojure (HOPL IV, 2020; DOI https://doi.org/10.1145/3386321)。取得は同 PDF の Internet Archive 保存版
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
Lisp ・ 1958年
受け継いだ点: Lisp の一方言(どの先行 Lisp の直系でもない)
影響を受けた側の資料が述べています ・ 出典: Hickey, A History of Clojure (HOPL IV, 2020)
-
ML ・ 1973年
受け継いだ点: 状態管理(参照)の着想: SML の ref
影響を受けた側の資料が述べています ・ 出典: Hickey, A History of Clojure (HOPL IV, 2020)
-
Java ・ 1995年
受け継いだ点: ホスト言語としての JVM・Java ライブラリとの相互運用
影響を受けた側の資料が述べています ・ 出典: Hickey, A History of Clojure (HOPL IV, 2020)
一覧にない言語からの影響(名前だけ): Common Lisp(Lisp の一方言として一覧上は lisp に含む)・Haskell の STM(比較対象)
影響を与えた言語
-
Elixir ・ 2011年
受け継がれた点: プロトコルなど問題へのアプローチ
影響を受けた側の資料が述べています ・ 出典: An interview with José Valim, Creator of Elixir (Evrone)
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語