青の世界

SMALLTALKで学ぶ オブジェクト指向プログラミングの本質

SMALLTALKで学ぶ オブジェクト指向プログラミングの本質

Smalltalkの空気を吸い直してみようと購入した「ブラックブック」が届きました。

今、皆さんがお使いのSmalltalkVisualWorks+じゅん)の仮想イメージのファイルは、1976年のSmalltalk-76の仮想イメージが起源であり、約30年もの長きにわたって連綿と受け継がれてきた一つのファイルなのです。

この一文を読んで、Smalltalkというのは、ガウディさん設計のサグラダ・ファミリアみたいなものなんだなと思いました。言語仕様、ライブラリ、フレームワーク、ツール、アプリケーションと階層的に作るものではなくて、まだ誰も完成形を想像できないものに、共通の思想みたいなものに従って、細部を付け加えて行く。設計図もないけれど、既にある細部を見ると、別の細部を付け加えたくなる。そういう世界だと改めて感じました。
そこで、ふと、インターネット上の情報がすべてオブジェクトとなる「青の世界」というのは、もしかしたら幻想なのかもしれないと思いました。大半のオブジェクトは内部状態が本質的で、でも、サーバーのオブジェクトをクライアントのアクセスで変更して行くわけにもいかない。できるのはクライアントがサーバーからクラスをダウンロードして、クラスのオブジェクトメモリ上でインスタンス化するぐらい。だとすると、それは今のインターネットとあまり変わりはない。
サグラダ・ファミリアは多くの人にとってできることは、鑑賞することだけ。
青木さんの語り口調に触発されたのでしょうか。妄想が始まりました。Smalltalkはダイナミックバインディングで、メッセージを受け取ると、オブジェクトのクラスツリーからメソッドが見つかるまで探しますが、それで見つからなければ、インターネットで世界中のイメージを検索して、一番近いものをくっつけるようなことをすれば、コンセプトだけでなんとなく動いてくれる怪しいものができるかもしれない。