言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

スタバにて

OOPSLA から帰り、のんびりしている。OOPSLA では立派な人の話を沢山聞くことが出来たし、動物園では蛇しかいなかったけど、Croquet の若者たちと仲良くなれた。論文の発表で印象に残ったのは、最後の方で聞いたAlexander Ahern という人のメソッドの呼ばれ方を見てマルチプロセスでやり取りされる情報を少なくする方法、Annie Liu という人の出来るだけ再計算をしないでキャッシュを返す方法だった。Douglas Gregor の、共有グラフ、共有キュー、共有辞書を使ってグラフ探索を複数CPU で速くする話はスライドが白黒でカッコよかった。どれもこれも Java での実装だったが、関数型言語っぽい話だった。やはり関数型言語を勉強しなくてはいけないのかとあせった。

帰りは大島さんに送ってもらった。スリリングな体験だったが中島みゆきが心に染みた。

昨日は100ドルラップトップの評価基板での最適化を試みる。さっぱり進まなかったが、夕ごはんに招待していただいてはるこさんのおいしいシチューを頂く事が出来た。大島さんにはさらにブロックを使ったコンティニュエーションについて教えて頂いた。個々の例題は分かるのだが一般的な概念は想像力の欠如かさっぱり。クヤシイ。

ここにきて、自分が何をやればよいのか分からなくなってきた。短期的にはアランさんのチュニジアでのデモがあり、長期的には Tweak での実装という作業があるのだが、やりたい事と出来る事が離れている時によくこんな途方にくれた気分になる。

自己分析すると、僕の仕事の進め方としては、かくあるべしという少数の原理から演繹的に組み立てるのではなく、こういう物が欲しいという結果が先にあって、そのために必要な物を作るという帰納的なやり方をしている。だから折角作ったサンプルデータがアップデートの度にやり直しというのはかなり凹む。という事で基盤となるファイルフォーマットから調べ始めた。

実は最初 SIXX でかなり作業していたのだが、OpenOffice2 リリースのニュースを聞き、Squeak でも OpenOffice フォーマットをやってる人がいたなあと思い出す。Diego がインポータを書いてるし、impara の中でも使われてるみたい。ファイルフォーマット策定までのいきさつ http://xml.openoffice.org/package.html を覗いてみると、この XML+JAR ベースというのがやはり妥当かなという気がして来た。バイナリデータを外部に書き出す以外は SIXX で作り中の物もそのまま使えそうだ。

問題は速度なのだが、プログレッシブ読み込みを使えばアランさんのプレゼンにも使えるのではと思っている。プログレッシブ読み込みは今のバイナリ形式では出来ない(失敗の過去がある)ので、XML+JAR の優位性を示すのに絶好だろう。Squeak の zip って「ちょっとずつ読む」をサポートしているのかな。完全にメモリ展開してたら最悪だな。