オブジェクト指向プログラミングの歴史
↓微妙にOOPに関係ないところや時系列が謎なところがあるので修正しようmrsekut.icon
既存の言語(ALGOLやFORTRAN)は科学技術計算向けの言語であり、シミュレーションをプログラムするのには不向きであった これらは人間の思考に沿って、というよりはコンピュータの内部処理向けにプログラムを記述するもの
この言語で観察目的のシミュレーションをしたい場合、全ての動きをプログラムする必要がありかなり厄介になる
Wikiに載っているオブジェクトの概念の動機がわかりやすくて面白いmrsekut.icon 気体のシミュレーションを考える際に、分子の集合全体の動きをプログラムするのは難しい
そうではなくて一つ一つの分子をプログラムすることを考える
一つの分子の構造や、分子同士の互いの影響の及ぼしあいをプログラムする
そうした上で、全体の動きを観察する
こういう概念がpropertyやmethodの元となる
1962/3までにはシミュレーション向けの言語のコンセプトは決まっていた
Sketchpadは細かい部品を定義し、そのコピーを集めて全体を描くコンピュータグラフィックスシステムだった この構造にAlan Keyが出会い、後にオブジェクト指向プログラミングの概念に通づる
良いUIすなわち「使いやすいシステム」の追求が動機
UIパーツ(ex. プルダウンメニュー)を作ることになるので、各コンポーネントに状態を持たせるようなオブジェクト指向が向いている、となったのかなmrsekut.icon
Smalltalkのターゲットは子どもだったので簡素で直感的な言語構造、記述形式に出会いんされた
開発チームもエンジニアだけでなく、心理学者、哲学者、医学者もいた
これは「オブジェクト」に注目したわけではない
C++はオブジェクト指向プログラミングを発展させてはいない
参考
全般
Simula関連
Smalltalk関連
まだ読んでないが参考になりそうな資料