generated at
オブジェクト指向プログラミングの歴史
↓微妙にOOPに関係ないところや時系列が謎なところがあるので修正しようmrsekut

「オブジェクト」の概念が生まれたのはSimula言語が最初
ノルウェー計算センターのKristen Nygaardが1957年からコンピュータシミュレーションの開発を始める
既存の言語(ALGOLFORTRAN)は科学技術計算向けの言語であり、シミュレーションをプログラムするのには不向きであった
これらは人間の思考に沿って、というよりはコンピュータの内部処理向けにプログラムを記述するもの
この言語で観察目的のシミュレーションをしたい場合、全ての動きをプログラムする必要がありかなり厄介になる
Wikiに載っているオブジェクトの概念の動機がわかりやすくて面白いmrsekut
気体のシミュレーションを考える際に、分子の集合全体の動きをプログラムするのは難しい
そうではなくて一つ一つの分子をプログラムすることを考える
一つの分子の構造や、分子同士の互いの影響の及ぼしあいをプログラムする
そうした上で、全体の動きを観察する
こういう概念がpropertyやmethodの元となる
1962/1にOle Johan Dahl,がKristen Nygaardの業務に参加
1962/3までにはシミュレーション向けの言語のコンセプトは決まっていた
1962/4頃にALGOL 60の拡張としてSimulaの元となるSimula ISimula67が開発された
Simulaの誕生は1967年


Alan Keyが「オブジェクト指向プログラミング」という言葉を発明する
Ivan Edward SutherlandSketchpadを作っていた
Sketchpadは細かい部品を定義し、そのコピーを集めて全体を描くコンピュータグラフィックスシステムだった
この構造にAlan Keyが出会い、後にオブジェクト指向プログラミングの概念に通づる
Alan Keyはユタ大学で大学院時代にIvan Edward Sutherlandの元で研究を行う
FLEX Machineというグラフィカルコンピュータの開発をしていた
大学院を卒業しXEROX社に入りSmalltalkの開発を行う
良いUIすなわち「使いやすいシステム」の追求が動機
LOGOのような使いやすい言語を参考にした
UIパーツ(ex. プルダウンメニュー)を作ることになるので、各コンポーネントに状態を持たせるようなオブジェクト指向が向いている、となったのかなmrsekut
Smalltalkのターゲットは子どもだったので簡素で直感的な言語構造、記述形式に出会いんされた
開発チームもエンジニアだけでなく、心理学者、哲学者、医学者もいた

Bjarne StroustrupはSimulaやSmalltalkのクラスや継承の概念に注目しC with Classesを開発
これは「オブジェクト」に注目したわけではない
C++はオブジェクト指向プログラミングを発展させてはいない






参考
全般
Simula関連
Smalltalk関連
まだ読んでないが参考になりそうな資料