言語ゲーム

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

Twitter: @propella

再び Cary へ

久々に 3dsolve 社のオフィスへ。部屋に入ると新人が二人も居てびっくりした。日記を書いたりしているとサボってると思われやしないかと思い、ネットもあまりチェックできず。うーん、この会社儲かってるんだな。

昼からはグレッグがまたも教えてくれというので、結局グレッグの部屋で ASE ファイルパーサの続き。ボーンを使ったアニメがまだ完成しない。珍しくデイビッドがやってきて、自説のベクター指向プログラミング言語について滔々と話すのを聞く。

勿論アランのけしかけあっての事だが、なんとなく話の焦点が「再利用」に合いつつある。シカゴでネッドも埋め込まれたオブジェクトと Connectors にまつわる問題について話していたし、大島さんのケダマも再利用に対する一つの解だろう。小さな物を組み合わせて大きな物を作る。最も基本的な問いだが、なかなか奥が深い。

話を言語だけにあわせると、個人的な感想で最も成功しているのは Scheme だ。構造の大小に関わらず終始一貫統一されていて大変美しい。Smalltalk も美しいのに、etoys がこんなに無茶苦茶なのは、多分記号だけの世界に留まれるテキストベースの言語とは違いビジュアルな言語には色々泥臭い問題がついてまわるのだろう。

例えば Scheme ベースのタイル言語を考えてみよう。タイルの特徴として、キーボード操作無しにプログラムが組める事というのがあるが、そのためには現在定義されている関数をマウス操作だけで選択する必要がある。しかもそれは関数を新たに定義するたびにどんどん増えてゆく。目前に無い情報を意識の向こうに追いやれるテキストとは違い、画像で選択させるためには選択肢を目前に提示しなくてはならない。そして、画面の広さと人間が目で探す能力は限定されている。

目前のシンボルが「利用」なのか「定義」なのか、テキストベースの言語ではその文脈から明白だ。しかし画面の現れたアイコンを利用と見なすか定義と見なすかは、実はそんなに簡単でも無い。etoys で新たなタイルを上手く作れない原因の一つに、上手いインタフェースが思い浮かばなかったというのもあると思う。

ネッドにも言ったんだけど、その辺老舗の Max もとい Pd は上手くやっている。線で繋がれたオブジェクトは本質的にはテキストなのだ。アイコン表示は単なる構文糖。思えば我々の文字は絵文字から抽象文字へと進化してきたわけで、絵文字にこだわる事は単なる退化である。絵とテキストはやっぱり可換であるべき。と、また話が etoys スクリプトが表示形式に依存する問題へとスパイラル。