Squeakって...
Squeakってなにか?について
あまりに細かいことは、詳しいページをGoogleで探してもらうとして、、
気に入っているエピソードを紹介します。
●その生い立ち
詳しい年代はわかりませんが、むかしあったSmalltalk-80(80年ころなんだろう)の直系の子孫だそうです。こないだ買ったSqueakの本にくわしい生い立ちが載っていた。
直系というのは、どうやらMacintosh用のSmalltalk-80(Smalltalk-Vでなくて)のソースをそのまま使った、というところから来ているようです。そこから原始Squeakを立上げ、そのSqueakの上でVMを再構築。Cのソースをビルドする仕組みを作ったので、その後いろいろなプラットフォーム上で動作するものが割と簡単に作れるようになっているようです。
小さくて軽いっていうのもまた好きなところ。小さいって、どのくらいかというと、環境全体のソースも込みで40MBですよ。個別の環境に必要なイメージファイルとチェンジセットだけだったら20MB。USBのメモリスティック32MBでも充分もって歩けます。
そうそう、Squeakを作ったのはあのダイナブックを提唱したアラン・ケイです。
最近NHKでもSqueakといっしょに紹介されていました。意外にまだ若い。ダイナブックを提唱したのって、いくつの時なの?
Squeakの詳細については→こちら
●Smalltalkとしての特徴
Squeakは割とHyperCardと似ているとしている人が多いような気がします。
Squeakに含まれる「e-Toy」というものが、たしかにそんな感じです。
子供に素直に受け入れられる仕組みのようで、先のアラン・ケイとSqueakの番組では、子供たちが楽しく遊んでいるのが紹介されていました。
わたしはまだ触ったことがない。。
Smalltalkとしてはどうなのか?といってもわたしには評価できません。
いまのところ楽しくプログラミングさせていただいています。
ただSmalltalkでプログラミングしていると、自分のプログラムが「なんかおかしい」「不自然かも」とかと気づかされることがある。
CやModula-2では、自分のプログラミングスタイル(このほうがかっこいい)とか、プログラミングのグループのルール(このサブルーチンを使わないといけない)しかなかった気がする。
もちろんSmalltalkでも「このほうがかっこいい」と思うものなんかはある。でもなんかその世界にそぐわない感じが返ってくるのは他にはなかったかな。
まるでDUCATIに乗っている気分。
この乗り方じゃいけなかった、とバイクが返してくるのに似ている。
スピードやパワーだけでは計れないDUCATIの魅力と同じ魅力をSmalltalkに感じる。
(このサイトのドメイン「ducati-fan.com」たる所以)
●いろんなマシンで
生い立ちでも触れたように、たくさんのプラットフォーム上で動いています。
Macintosh,Windows,Linux,BeOS,Zaursなどなど。
WindowsCEの上で動くので、ポケットポストペット(ポポペ)の上でまで動かしたようです。しかもアラン・ケイが日本に来たときにプレゼントしたそうな。
実際わたしのうちでは、iBookとDynabook(もちろん東芝の)のどちらでも、まったく同じ環境でSqueakプログラミングができます。特に工夫はいりません。セットにして持ち歩いているイメージファイルとチェンジセットのうち、イメージファイルをダブルクリックするだけです。
ただiBookは奥さんのホームページメンテ+「ZOO Keeper」に占有されることが多いので、Windows機でやってることのほうが多いです。
Smalltalkとわたし
これまでSmalltalkは長い間やってみたい言語だったけど、なかなか自分に合う処理系っつーか環境がみつけられなくて、ただただ概念の勉強だけしてた。
一時はMacintosh上で動く"Smalltalk Agent"に飛びついてみた。TG情報ネットまで教育を受けにまでいったし、なんかちょこっとwindowプログラムもやったなー。
でもホントのところに触れることさえなく、MacOSのレベルアップとともにされたSmalltalk Agentのレベルアップに財布が追いつかず、動かなくなって挫折...
Smalltalker's Mailing-Listを購読するようになって、そこでSqueakに出会った。
家でやれる環境として、携帯性があるザウルスを選んだ。どこでもやれるからこりゃいーや、と思って買ったのが2年前。
ところがやっぱりキーボードがないのはツラスギタ。イチから始めるには、とてもプログラミングができる環境じゃなかった。ここでまた挫折。
で、本格的に始められるようになったのは、自分専用のノートパソコンを手に入れてからだった。
ただ思い起こしてみると、すぐにSqueakの環境に飛びつかなくてよかったような気がする。Smalltalk Agentではあぶなかった。あのまま続けずよかったと思う。
まあこれも青木さんの著書「Smalltalkイデオム」(初版本にありがたいお言葉の直筆サイン入り)に出会ってからそう思うようになったのだけど。
あの本では、最初の前書きと最後の章を何べんも読んだ。単なるSmalltalkの解説書でなくて、Smalltalkなりオブジェクト指向なりと、どう生きて、どう感じて、どう接していくか見たいな話に及んでいて読み応えがあった。今でもたまに読み返す。
「Smalltalkは社会性をもった言語」と、どこかに青木さんの言葉が載っていた。人のために何ができるか、個人と個人のつながりあいとは?自分とは?オブジェクト指向の設計をやってるとそんなことをよく考えるようになった。
