Smalltalk のクラス

Smalltalkオブジェクト指向が、「抽象データ型のスーパーセット」としてのオブジェクト指向ではなかったことは、Smalltalk-72 で当初からクラスがメソッドホルダとしてしか位置づけられていなかったことからも明らかです。まあ、いっかんして変数に型がないことで、(SIMULA、そして後の C++ ライクな「型による抽象化手法」を踏襲する気はないのは)すでに明らかなんですが…。 Smalltalkオブジェクト指向、つまりメッセージ指向というパラダイムにおいては、「抽象データ型のスーパーセット」としてのオブジェクト指向も、(二項演算や制御構造をも“オブジェクト”と“メッセージ送信”で実現して見せたのと同じように)チャレンジして(差し障りのない範囲で)達成した問題領域のひとつに過ぎなかったのだ…という解釈が、最近のお気に入りです。