SqueakOnJava

Squeak(2.2というのはもう8年くらい前ですが)の基本的な使い方は梅澤さんによる
http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/squeak.html

http://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak/S3_1_1.html
辺りからが役に立つと思います。ただ、この.jarに入っているイメージは本来の2.2からとりあえずの動作に必要なものそぎ落とされていますので、書かれていることの多くのことは実行できないかもしれません。

少なくとも、0 tinyBenchmarksと書かれた行にカーソルを置き、Windowsなら右クリックをして出てきたメニューからprint itを選んで式を評価したりすると、ごくごく簡単なインタープリタの性能評価をすることができますし、Display restoreAfter: [Pen new web]を同様に評価して、画面に落書きをすることができます。お試しください。

ForwardToThePast

言うまでもないことですが、上のファイル名にある"ForwardToThePast"というのはOOPSLA '97でDan達が発表した"Back to the Future
The Story of Squeak, A Practical Smalltalk Written in Itself "という論文をもじったものですね。元論文は、上から下までダイナミックなオブジェクト環境を作る、という昔の先進的なアイディアに戻るというものだったわけなので、今度のはその反対というわけです。

Croquet VM

CroquetのHedgeHog版リリースに向けて皆頑張っています。Croquetでは分散した異機種環境でも同じ演算結果にならないとならないので、浮動小数点演算は互換性ライブラリを提供してやることになります。IanはGlendaleに来ていますが、彼がいろいろな機械でテストするのをちまちま手伝ったりしています。

DanのSqueak on Java

実はしばらく前から知っていましたが、DanはSqueak VMJavaで書くというSqueakOnJavaというプロジェクトをこっそりやっていました。バイナリコンパチブルな.imageファイルがJavaで書かれたSqueak VM上で動くというものです。

http://weather-dimensions.com/Dan/sSqueakOnJava.jar
にあるjarファイルをダウンロードして、JREかなにかで動かしてみてください。

http://weather-dimensions.com/Dan/ForwardToThePast.jnlp
でも動くようですが。

Ianに聞いたところによれば、aClass allInstancesとかが動くようにするために、すべてのオブジェクトがそれぞれのクラス用のWeakArrayに入っているという噂です。

x86上だと、本来のSqueakの実行形体であるSqueakOnCに比べて50分の1とか20分の1とかの速度しか出ないのですが、PowerPCだと1/10くらいまでその差は縮まります。さすがDan。

動かして終わり、というものではないのでさらなる展開があるはずですが、今後に期待しましょう。

Ted Nelson

Hypertextという言葉を発明して、Xanaduというプロジェクトを何十年も推進しているTed Nelsonが講演するというので、夕方からUCLAのGSEISというところに来た。60代後半という話を聞いたが、身のこなしも軽やかに机を飛び越えたりする。

結構まじめにノートを取ったのだが、ほどほどに書く。

彼が発する短い警句や喩えの類は面白い。例えば、

  • 紙を模倣している間は、紙を改良することはできない。
  • 紙だけど、ガラス板の裏側に入っている。
  • エジプト人は故人の内臓を壷に入れて保存したが、Acrobatはドキュメント用の壷みたいなものだ。
  • 階層的ファイルシステムは、Ken Thompsonがたまたまそういうものを書いた、というだけのもので、人間にとって絶対的に正しいものではない。
  • 今のUIはPARCで作られたGUIを基にしているが、GUIもそれで決まりというわけではない。GUIではなくPARC User Interface(プーイ)とでも言うべき。
  • Tim Berners-Leeは人としては尊敬するが、あるレベルで意見に大きな相違がある。
  • テキストのリンクは一方向ではなく、引用元と引用先が常につながっていなくてはならない(というのがXanaduの大きなアイディアのひとつ)。
  • 1968年のBrown University Hypertext Projectというやつが、今のWWWのアイディアの元といえるが、弱いアイディアだった(双方向にするのをやめて、その代わりにバックボタンを付けた、というのはこれを指していたのかな?)
  • PARCのUIデザイナーは、ボスの書いたものを直す秘書と、XEROXの重役を想定してUIを作った。
  • あるtekkie(技術おたく)が、「(階層的構成が悪いというが)、宇宙そのものが階層的なのだ」といった。これって形而上的な言明であって、宇宙の見方はいろいろある。
  • 解剖学の本では体を階層的に分けて説明するが、神経系と血管系と骨格とは階層的に組み合わされているわけではなく、お互いがお互いと関連している。
  • 「統合ソフトウェア(integrated software)」が過去に何度か世に出たが、そもそも最初っからdisintegrateするのがおかしい。

などなど。

これらの合間に、"transclusion", "transliterature", "transcopyright"というような言葉を使ってデモを見せるのだが、これらのデモが本当に「しょぼい」。「テキストを3次元にレンダリングできます」というようなものを、Windowsの階層ファイルシステムと戦いながらやっと起動して見せて、ちょっとくるくる回したあとで、「ゆがめても表示できます」というものを、別プログラムとしてまた(Windowsの階層ファイルシステムと戦いながら)起動し、ちょろっ動かして、という感じである。emailの引用元が引用先とつながっています、というやつもあったのだが、...余りにもちょろい。ちょろすぎる。

これが俺の考えたデータ構造だ!というzz-structureも、うーん、だし、双方向リンクを実現するためのEDL(Edit Decision List。映画業界の人が、撮りためたフィルムのどこからどこまでをどこにつなぐのか指定したもの)風記述も、いきなり文字列内の文字インデックスが書かれていたりして、「駄目じゃん」だし。

彼のアイディアは先駆的だったし、今でもすごいエネルギーを持っているのは間違いないのだが、技術屋の考え方への反発が橋のデザイナーが物理法則を無視するのと同じようなレベルに達してしまっているように思う。コードは余り書けないようなのでいろいろな人に書いてもらっているみたいだが、話のそこかしこに「昔これを作った誰それは、今は別の道を歩んでいる」というコメントが出てきたりする。

なかなか難しいものであるなあ。

どうやらお母様は俳優だったそうで、俳優的な血が流れているのか、真似をしたり映画のシーンを表現したりするのはとても上手である。そういう意味で発表そのものはまずまず楽しい、ということは書いておいて良いだろう。