GNU Smalltalk 3.0 リリース


いろんなところで宣伝されているみたい。ruby-talk で中の人の投稿を見かけたときはちょっとびっくりしました。w


Squeak Smalltalk の暫定ダイナブック環境的な要素を重視している私としては、それを極力取り除く方向性を持つ GNU Smalltalk は正直ちょっと使いづらい処理系なのですが、それでも Smalltalk を言語処理系という狭い範疇にとどめておきたがる人々への“方便”というか“間口”として言及するときには便利に使わせていただいています。本家と勘違いしている人も大勢いるようなので(強いて Smalltalk の本家を挙げるなら XEROX Smalltalk-80 の直系の Cincom Smalltalk でしょう…。念為)、その誤解のまま接する人の期待を裏切らないクオリティを目指して頑張ってほしい Smalltalk 処理系でもあります。


GNU Smalltalk は、これまで、始祖的な Smalltalk-80 から大きく逸脱しないようにいろいろとやりくりしながらスクリプト言語っぽく使えるようにした工夫が涙ぐましかったわけですが、3.0 ではついに一線を越えて文法にも手をいれ、よりスクリプト言語っぽく使えるように方向転換をはかっているようです。まだ試行錯誤の最中のようで、例によってわかりにくいたとえをすると Ruby でいうなら 1.9 のような状態なのですが、今後どんなふうに固まってゆくのかちょっと楽しみです。昔は「こんなの Smalltalk じゃねーっ!」って拒否反応を示してたわけですが、Smalltalk の歴史を学ぶにつれて、こうした変化は歓迎すべきと思えるようになりました。もっとも、Squeak Smalltalk で似たようなことをやり始めたら、以降のバージョンはすぐ見捨てますけどね(^_^;)。まあそこは方向性の違いと言うことで。



で、なんで GUI はどちらかというと後回しぎみの GNU Smalltalk で [GUI] なんてラベルなのか…なのですが、その README にすてきな一文を見つけたからであります。

Unlike other Smalltalks (including Smalltalk-80), GNU Smalltalk emphasizes Smalltalk's rapid prototyping features rather than the graphical and easy-to-use nature of the programming environment (did you know that the first GUIs ran under Smalltalk?).


「知ってた? (史上)最初の GUISmalltalk の元で動いていたんだよ。」ってところ(まあ、くどくどいうと厳密には“オーバーラップするマルチウインドウ”で“マウスを介してメニュー操作”する今風の…となるわけですがね)。 林信行さんの「スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡」にも、通常ならありがちに「ALTO」だけ名前を挙げて終わりにしてしまいがちなところを、

ALTO というコンピュータで動くスモールトークのデモを見ることになる。


とちゃんと Smalltalk の功績に言及してくださっているところがファンとしてはとてもうれしかったりするわけですが、これと似たような感触を得たわけです。