1958年 ・ 関数型
Lispの歴史
人工知能研究のため、記号式をリスト構造で扱う言語として McCarthy らが作った。条件式・再帰・関数を値として渡す書き方・eval によるプログラム自身のデータ化・ガベージコレクションを備えた。
- 年(初めて公開された年)
- 1958年
- 作った人
- John McCarthy
- 組織
- MIT
- 系統
- 関数型
年の決め方 1958年秋から言語の実装が始まった(McCarthy の History of Lisp)。最初の論文は1960年の CACM。1958年の MIT AI Memo 本体は未確認
Lispの祖先と子孫
影響元をたどれる言語1、影響先をたどれる言語18を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
代数的なリスト処理言語を人工知能の研究に使えるようにしようとした。
“Fall 1958 through 1962 when the programming language was implemented”
年の根拠の出典: John McCarthy, History of Lisp (転載版で内容を確認)
“desire for an algebraic list processing language for artificial intelligence work”
目指したことの根拠の出典: John McCarthy, History of Lisp (転載版で内容を確認)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
Fortran ・ 1957年
受け継いだ点: FORTRAN 上の FLPL でリスト処理を試し、条件式の着想を得た
影響を受けた側の資料が述べています ・ 出典: McCarthy, History of Lisp (転載版で内容を確認)
一覧にない言語からの影響(名前だけ): FLPL・IPL・Church のラムダ記法
影響を与えた言語
-
Smalltalk ・ 1972年
受け継がれた点: 式を評価する eval・apply の考え方と、1960年代の4つの大きな着想のひとつとして
影響を受けた側の資料が述べています ・ 出典: Kay, The Early History of Smalltalk (転載版で内容を確認)
-
Scheme ・ 1975年
受け継がれた点: Lisp 風の言語としての設計(Scheme の作者が Lisp-like と記述)
影響を受けた側の資料が述べています ・ 出典: Sussman & Steele, Scheme: An Interpreter for Extended Lambda Calculus
-
R ・ 1993年
受け継がれた点: 小さなインタプリタを作る方法(Lisp 実装者の手法)
影響を受けた側の資料が述べています ・ 出典: Ross Ihaka, R: Past and Future History (Interface '98)
-
Ruby ・ 1995年
受け継がれた点: ブロック(クローズ)の考え方・関数型との均衡
影響を受けた側の資料が述べています ・ 出典: ruby-lang.org, About Ruby
-
Clojure ・ 2007年
受け継がれた点: Lisp の一方言(どの先行 Lisp の直系でもない)
影響を受けた側の資料が述べています ・ 出典: Hickey, A History of Clojure (HOPL IV, 2020)
-
Julia ・ 2012年
受け継がれた点: ホモイコニックな言語とマクロ(目標として挙げたもの)
影響を受けた側の資料が述べています ・ 出典: Why We Created Julia (2012)
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語
出典
- John McCarthy, History of Lisp (転載版で内容を確認)
- McCarthy, History of Lisp (転載版で内容を確認)
- Kay, The Early History of Smalltalk (転載版で内容を確認)
- Sussman & Steele, Scheme: An Interpreter for Extended Lambda Calculus
- Ross Ihaka, R: Past and Future History (Interface '98)
- ruby-lang.org, About Ruby
- Hickey, A History of Clojure (HOPL IV, 2020)
- Why We Created Julia (2012)
影響の線の引き方は一覧の注記に書いています。