1972年 ・ オブジェクト指向
Smalltalkの歴史
子どもを含む誰もが使える個人用計算機の言語として Kay らが作った。すべてをオブジェクトとし、オブジェクト同士がメッセージを送り合う形でプログラムを組む。
- 年(初めて公開された年)
- 1972年
- 作った人
- Alan Kay、Dan Ingalls、Adele Goldberg
- 組織
- Xerox PARC
- 系統
- オブジェクト指向
年の決め方 1972年 Xerox PARC で Smalltalk-72 が最初に動いた。1980年に一般向け Smalltalk-80 が公開
Smalltalkの祖先と子孫
影響元をたどれる言語4、影響先をたどれる言語14を描きました。点を押すとその言語のページに移ります。
全体の図は一覧の系統図にあります。
目指したこと
オブジェクト同士がメッセージで通信するという考え方を、言語とユーザーインタフェースの両方で実現しようとした。
“became the precursor of Smalltalk in 1972”
年の根拠の出典: Alan Kay, The Early History of Smalltalk (HOPL-II 1993) (転載版で内容を確認)
“Early Smalltalk was the first complete realization of these new points of view”
目指したことの根拠の出典: Alan Kay, The Early History of Smalltalk (HOPL-II 1993) (転載版で内容を確認)
影響を受けた言語
出典が明言した線だけです。「受け継いだ点」は出典の記述を要約したものです。
-
Lisp ・ 1958年
受け継いだ点: 式を評価する eval・apply の考え方と、1960年代の4つの大きな着想のひとつとして
影響を受けた側の資料が述べています ・ 出典: Kay, The Early History of Smalltalk (転載版で内容を確認)
-
Simula ・ 1965年
受け継いだ点: オブジェクト(インスタンス)という考え方。Kay は Simula の記憶割り当てから Sketchpad 的な構造を見抜いた
影響を受けた側の資料が述べています ・ 出典: Kay, The Early History of Smalltalk (転載版で内容を確認)
一覧にない言語からの影響(名前だけ): Sketchpad・JOSS・FLEX・LOGO
影響を与えた言語
-
Objective-C ・ 1980年代初め
受け継がれた点: メッセージ送信など Smalltalk 風のオブジェクト指向の追加
影響を受けた側の資料が述べています ・ 出典: Apple, Object-Oriented Programming with Objective-C: Introduction
-
Java ・ 1995年
受け継がれた点: オブジェクト指向の設計の着想元
影響を受けた側の資料が述べています ・ 出典: Oracle, The Java Language Environment (white paper)
-
Ruby ・ 1995年
受け継がれた点: すべてがオブジェクト・ブロック・イテレータ
影響を受けた側の資料が述べています ・ 出典: ruby-lang.org, Ruby FAQ: General questions
-
Scala ・ 2003年
受け継がれた点: すべての値がオブジェクトという統一的なオブジェクトモデル
影響を受けた側の資料が述べています ・ 出典: An Overview of the Scala Programming Language (EPFL, 2006)
関わる思想のテーマ
あわせて見る
- プログラミング言語の比較 C・JavaScript・Java・Python を同じものさしで。
- 冗談と実験の枝:難解プログラミング言語
出典
- Alan Kay, The Early History of Smalltalk (HOPL-II 1993) (転載版で内容を確認)
- Kay, The Early History of Smalltalk (転載版で内容を確認)
- Apple, Object-Oriented Programming with Objective-C: Introduction
- Oracle, The Java Language Environment (white paper)
- ruby-lang.org, Ruby FAQ: General questions
- An Overview of the Scala Programming Language (EPFL, 2006)
影響の線の引き方は一覧の注記に書いています。