Zest and Marmalade

Python 界隈で著名な(そしてアンチ Ruby 、アンチ Smalltalk 派で知られるw)新山さんの たべすぎ・ねっと/メモ 経由で Lightweight Languages 2004(アブスト発表資料)より。発表資料の Zest and Marmalade から Squeak VM で動く仮想イメージ一式が落とせます。

インスタンスベース*1オブジェクト指向で有名な SELF システムの開発環境(の至極サブセット的なもの)と Wiki 的なもの(プレイフィールドへのハイパーリンクをたやすく作れる)とを組み合わせたもの。あるいは、HyperCard からカード型データベース臭を抜いたようなもの。はたまた、うがった見方をすれば、おそらくカニンガムが Wiki を考案するまえに、WildCard(ケント・ベックApple から持ち出してきた HyperCard の開発途上版)に見いだしたであろうものを具現化したもの…です。

総じて、ここに例えを挙げた3つのものを知らない人には、全然説明になってない説明しかできない、とにかくそんな感じのもの。逆に、よく知っていれば、「ああ…あれとあれとあれね! なかなかよく作って組み合わせてあるでないの」的シロモノでもあります。 なので、使い方も、これらを(いずれかを…ではないのがミソですねw)いじったことがないと、ワケワカでしょう。 でも、知っている人がデモするのをいったん見さえすれば、だれでも簡単に使えるようになりますし、上のいずれか、あるいは全部をよく知らない人ほど(潜在的な要求があれば)これぞと感動すること請け合いです。

後で思い付いたんですが“Smalltalk 言語を話せる人むけの、eToys っぽいもの”…かな?


こういうソフトを紹介しようとして失敗するたびに、Smalltalk 環境っていうのは、悪く言えば Mac の環境からメタファーの強力な支援を取り去ってしまったもの、よく言えば、そうしたメタファー(のよりどころとなる既製物や概念)の呪縛から我々ユーザーを解き放ってくれるもの*2、あるいは、メタファーが支援可能な範囲にないものを比較的容易に具現化可能な世界、だということをつくづく思い知らされますね。Smalltalk への批判が、そこで具現化されたものを観て、はじめて「俺ならもっとうまくやれる…」といったたぐいの後出しジャンケンか、「そもそも○○なんてものは何にでも適用できるものじゃない…」といった後知恵披露みたいなものに終始するのと、このことは、無関係ではないように思います。


*1:オブジェクトベース、プロトタイプベースとも。

*2:今回の場合、既成物の焼き直しと組み合わせなので当てはまりませんが、それら既成物自体がすでに、Smalltalk が無ければ生じ得なかったという、SELF と HyperCardWiki のバックグラウンドを知らなかったり Smalltalk に詳しくない人から見れば実に独善的な見地ではハズしていないかな、と。w まあ逆に、いろいろと調べていると、本当に“あらゆるもの”と言ってよいほどパーソナルコンピューティングに関わる様々なものが Smalltalk に結びつくので、その惰性で“なんでも Smalltalkアラン・ケイに起源を求めたがる症候群”にかかってしまわぬよう、気を付けないといけなくもあります(^_^;)。