OOPSLA二日目

naniman2005-10-19

朝のキーノートは,エンドユーザプログラミング環境で,ユーザが作成したプログラムの品質をどのようにして保つのかという話題。品質を高めるツールの機能と,ユーザのエラーに対する意識を高めるという両方からのアプローチとして,いくつかの事例が紹介される。
その中で,初等教育でのプログラミング教育によりエンドユーザプログラミングへの意識を高めるべきという主張があった。子どもにプログラミングを教えることにどういう意味があるのかという話題がよく出るが,これは一つの回答のような気がする。一般にコンピュータは間違わないものという意識が高いが,実は人間の教えた通りにしか動かない,教え方を間違うとコンピュータは間違うということを理解することは,プログラミングをしないまでもユーザとして必要な感覚のような気がする。
論文の発表では,Traitsを使ってjava.io.*にあるソースの重複を解消しようとしたという話。内容としてはコピー&ペースト検知器では見つけられない重複が多いよ,ということで,実践レポートとはいえそれでこの会議に採録されるのかという感じ(内職をしながら聞いていたので,実はもっと奥が深いのかもしれんが)。
もう一つは単位を扱えるようにしたという話。Smalltalkで実装してた。Javaや.NETでは型が動的でないので実現が難しい。
最後のセッションはCroquetのCollaboration Architectureの話。ここに来る動機の一つではあったのだが,ややがっかりだった。複数の計算機に一つのオブジェクトのクローンが存在している。果たしてそれが本当に可能か,という疑問は解けなかった。前にも書いたが,完璧な実現が不可能なことは自明なので,時計合わせの問題,ネットワーク遅延の問題,競合の問題,イベントの順序づけの問題など,どのような環境の下でどのようなことが可能か,ということが知りたかった。
夕方はSmalltalk/SqueakBOF。カメラで撮った影を使って画面上の物体を操作するのは,サンノゼのTech Museumに手を挙げると蝶々がとまるというようなものがあるが,Smalltalkの部分でなく画像処理の方法に関する話がほとんどであったので,ちょっと趣旨が違ってしまったような気がした。
夕方は有名なSan Diego Zooへのツアー。バスで動物園へ向かい,アザラシのショーを見る。アザラシはその辺の海岸にもたくさんいるので,親近感がわく。フクロウや狼も登場。犬も登場。群れをなす習性のある狼の相棒らしい。食事をして園内を見ようとするも,ヘビしか見れなかった。