Smalltalk Odysseia

青木淳さんの文章「http://www.sra.co.jp/people/aoki/SmalltalkOdysseia/」を読んだ。
Smalltalkだけでなく、SchemeHaskellOCamlC++ などの以前から興味を持っていた言語も学習したくなった。(背景というか思想を理解したい)
以下、引用。

「利用者からアクセス可能な要素であるオブジェクトは,利用者が観察したり,操作したりする際に,いつも意味のあるやり方で,自分(オブジェクト)自身を提示できる能力を持つ。」

これが本来のオブジェクトの定義だと思います。データと手続きをパックしたものがオブジェクトだとか,インヘリタンスやポリモーフィズム,クラスやインスタンス,メソッドや動的束縛,等々,難しい説明がオブジェクト指向の前段で行われることが多いようですが,そろそろ初心にかえって,本来のオブジェクトを考え直してみてもよい時期ではないかと思います。

オブジェクト指向プログラミングは,コンピュータの中に上記のような仮想空間を作り出し,世の中が記述できたとして自己満足する仕掛けを提供しているとも言えます。

何らかの既成構造すなわち都市を守ろうとすることも大切かもしれません。しかし,その都市から除外されているものに目を向ける余裕が必要だと思います。IBMとBUNCHのメインフレームの時代に,一見関係がなさそうなコピー屋さん(XEROX)の研究(Smalltalk)に注目したようにです。体制の中にいる人々の未来予測が当たらないのは,都市すなわち体制の外に目を向けず,それらを最初から排除してかかるところに原因があります。