OOPSLA

Peri Tarrの開会の挨拶から。彼女はなぜすごいサングラスをしているのか?

参加者は43ヶ国から1140人。少ない。そのうち初めての人が460人。

最初のキーノートはBrenda Laurel。AlanともAtari時代からの知り合いで、Kimも昔から良く知っている人だそうだ。内容は、アリストテレスの哲学を援用して、後は舞台芸術からの経験と蓄積が、コンピュータ時代にどのような関係をもっているかということについて。タイトルのdesigned animismというのは、センサーネットワークで「自然」が人間に対して働きかけをするようになった時には、それが人間がデザインしたアニミズムとして見ることができる。ユビキタスネットワークを功利的なものとしてみるだけではなく環境との対話が行われるようになっていると考えるようになるから。

芸術が自然を模倣するというときに、Pollockの作品は本当の自然物を模倣しているようには思えなかったが、フラクタル理論で作られる波の形とそっくりでもある。音楽の場合は自然界に模倣する対象はないようでもあるが、ドビュッシーが星の配列を元にして(?)曲を作ったり、John Cageは自然を元にした乱数を使った音楽を作ったりすると言う意味で、数理的な自然解釈を芸術が模倣することもある。といった話など。もうちょっとめもったけど、まあこの辺で。質問コーナーでは、いつものように質問をするのではなくて、自分が知っていることを披瀝する時間だと勘違いして長々と話す人がある。長いコメントの後で「つまりあなたは私の話を楽しんでくれたようね」とまとめて受けをとっていた。Guy Steele Jr.は「Marvin Minskyは幸せになると先に進めなくなるから良くないといったが、あなたは詩や芸術が人を幸せにするという効果を強調しすぎている」と言っていた。Brendaは「Marvinが子供をつれてDisneylandに来ていたところに一緒にいたことがあるけど、あの人子供に嘘ばっかいってしょうもないやつだった」とか言っていた。インサイドジョークだなのだな、きっと。

最初のペーパーセッションはvirtual classなどのクラス拡張について。3件のうち1件は、われらがViewpoints ResearchのインターンAlexによるもの。贔屓目ではなく、Alexのものが一番プラクティカルで、シンプルで「使いやすい」もののようである。発表もジョークが入っていて面白かったし。夜のセッション中にScalaの人々(Lexもその中の一人だ)と話したのだが、Scalaの人からすると、「結局Scalaにはとっくの前にあるような機能なのに、classboxもexpanderもvirtual classも、みんな似たようなものを何度も何度もやり直しては論文にしている」ということになる。まあ俺もほかのことについて似たようなことを言っているが、ソフトウェア界は目先の変化によって、古いアイディアの焼き直しが新しいものに見えてしまうという側面があるからな。

Linda Northropのキーノートは、Ultra-Large Scale Systemについて。スケーラビリティということに関してはうるさい人が僕の周りに多いこともあり、normal failureとか、ビルディングではなくて都市を使ったアナロジーとか、まあ驚くべきことはないようには聞こえた。本を出したらしいのでそれを読むともっと面白いことがあるのかもしれない。

その後のテクニカルセッションは内職して聞かず。Camp Smalltalkのところもいつも同じ面子ながら、活気を持ってやっている。

Squeak BOFもちゃんと開かれた。BOFの最初の二人がそれぞれ40分くらいずつ自分がやっていることについての"gory detail"を話してしまったわけなのだが、その辺の仕切りの悪さ、およびそういう風に時間の感覚を失って話をしてしまう人というのは困るよなあ。その後の3人は一人5分ずつ位で切り上げたのに。俺もOLPC上のeToysについて、その中で5分くらい話してみた。

メインのトラックのほうでは、先日なくなってしまったGang of FourのJohn Vlissidesの追悼企画。JohnのリーダーシップについてRalphとErichからいろいろなエピソードが。Erichが保存していた3500通くらいのメールのやり取りの中から印象的なものが紹介されていた。以下はその他のfactoid。

- Ralphは、本を書いている途中に初めてUML図というものの読み方を覚える気になった。
- パターンのカタログを作ろうと言ったのはErichだった。
- RalphはJohnの実家に泊まったことがある。Johnの両親はギリシャ系移民だが、電気会社をやっていた。Johnは10才のころから親のところで手伝っていて、電卓やプログラム電卓を使うようになったのがプログラミングをするようになったきっかけだったと聞かされた。

  • Johnのお気に入りはFlyweightだったようである。(Johnが発明した、という言葉が出てきたようなきもするが、そんなはずはないだろう)

- (Andrew Blackの質問として)Alexanderの本は、150くらいのパターンが、各々2ページくらいで説明されているが、GoFの本は23のパターンがかなり詳しく説明されている。その違いはどこから来たのか。答えとしては、ドラフトを人々に見せたとき、エキスパートは理解できたようだが、普通の人が簡単に理解できるようなものではなかった。建築の場合は、説明を見たらそれをどうやって実現すればよいのか自分で考えられるプロ向けに書かれていた。
- 目撃した最悪のパターンの使い方はどのようなものだったかという質問に対してRalphが答えていわく。本を出して1, 2年後に、「われわれの会社では全員デザインパターンの本を持っている。やっているプロジェクトでも、15回Singletonパターンを使っている、10回Mediatorパターンを使っている」とパターンを使っていることを目的にしてやっている人がいたりして「お前らあほか」と思いはしたが言わないでいたこともある。Erichも、「われわれのプロジェクトでは23のパターンのうち20個まで使えましたが、後の3つを使う場所が見つかりませんでした。是非教えてください」といわれたことがあるとか。ErichとRalphの反省点としては、あの本ではパターンの使い方は説明したが、以下にパターンを使わないでもっとシンプルに書くべきかという説明がなされていなかったことがある。Singletonパターンというのはグローバルな状態を導入しているものだから、使わないですむ場合には使わないほうが良いものである。だが、グローバルな状態は良くない、ということはちゃんと説明しなかった。
- SketchPadの中にもObserverパターンは使われている。

僕が大学生のときにデザパタ本が出てはやり、その数年後には、確かに(fj.*をみても)なんとなく宗教的に扱っている人を時々見かけたことを思い出す。ちょっと下の後輩達も、卒論や修論デザインパターンのなんちゃらかんちゃらというのが続々とあったりして。今思うと、最初に見たものに支配されるということの実例だったのだなあ。