オブジェクト指向
ただし、クラスもまたメタクラスのインスタンス化とするような哲学は、非実用的であったと言及されている。Objectを再帰構成するMetaobjectによる拡張性と、機能注入の視点から継承を再解釈したMix-inによる拡張性は重視されており、それらを初めてアプローチしたCLOSのMetaobject Protocolを、ケイは1997年のOOPSLAでOOPへの最も深い洞察と評している。Objectがモナドで言う”窓のない部屋”であるのに対して、Metaobjectは”部屋のない窓”であり、窓の向こう側にある部屋の中の窓の向こう側に~という風に、他者との繋がり(縁)で左右される自己対象を表現していた。
第四章では、Smalltalkの言語仕様が六つに概略されている。
2, Objects communicate by sending and receiving messages (in terms of objects).
3, Objects have their own memory (in terms of objects).
4, Every object is an instance of a class (which must be an object).
5, The class holds the shared behavior for its instances (in the form of objects in a program list).
1989年に発表された「User Interface A Personal View」という記事の中でアラン・ケイは、Smalltalkのオブジェクト指向性は大変示唆的であると前置きした上で、そのプログラミング言語でのOOPと、そのGUIフレームワークでのOOUIを照応させながらこう述べている。これは人とコンピュータの対話形式としてのオブジェクト指向に沿ったものになっている。1970年代から80年代にかけてのオブジェクト指向は、GUI(グラフィカルユーザーインターフェース)と半ば表裏一体で扱われていたという技術史背景がある。
これは認知心理学のアフォーダンスにつながる考え方と解釈されている。その説明の中でケイは、Smalltalkプログラミングを抽象シンボル舞台と形容しており、GUIフレームワークを具象ユーザーインターフェース舞台と形容している。