言語ゲーム

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

Twitter: @propella

再びメタトイについてモスで考える。

関大の二度目の下見。学校ごとのパソコンの環境と言うのは、自分にとって超意外でも現場の人にとっては当たり前なので注意が必要だ。関大の Windows 環境についても、CPU のスペック的には申し分無いが、厳しい(まともな)認証がある事、スピーカ、マイクが付属していない事等、色々あった。でもこうワークショプの度に何度も下見に行くのは大変だな。

ワークショップの内容については、とりあえずいつものように子供向きのやつをそのまま学生にやってもらおうと思っていたのだが、先生や学生の要望が大きいので、もう少し Squeak の深層部分に関わる事をやるべきかなと思ったりして、しかしそれには Squeak の基礎知識が必要で、時間が足りないなあ。

喜多さんの『起源のインターネット』をモスで読んでいる。165ページ

つまり子どもたちは画面上でタートルの画像を使って絵を描いたわけです。しかし、それらは表面的な効果しかありませんでした。私はパーソナル・コンピューティングは対話的な道具なのだから、新しいリテラシというものは、新しい対話的なツールを自分達で作れることでなければならないと思いました。プロセスをおってゆくタートル幾何学はそういうものではなかったのです。

この問題は Smalltalk によって解決されたのだろうか? 興味深いポイントは、対話的なツールを自分達で作れると言った時の「ツール」とは何を指すのかという事。一辺が100の四角形を作る関数から、一辺が n の四角形を作る関数への飛躍は難しくないように思える。ここから、「ツール」への道のりはどれほどあるのだろうか。

ツールとは何か。本当は形式的な定義が欲しいところだけど、すぐには上手く浮かばないので、とりあえず「ツールとは、他人が使えるソフトウェア単位である」というあいまいな定義にしておこうか。

  1. ツールは他人の環境で動かす事が出来る。
  2. ツールには他人が理解できる目的がある。
  3. ツールには作者が意図した入出力(インタフェース)がある。

目的は文書として記述されていても良いし、時計のように見るだけで分かる物もある。インタフェースとは、そのツールを使うための限定された方法が示されている事だ。例えば時計のインタフェースはその盤面であって裏のネジでは無い。インタフェースによってそのツールの目的が明確になる。

Squeak の Drive A Car の車はツールでは無い。なぜなら、目的(道に沿って走る)はあるが、道の色が違うような他の環境では動かないし、インタフェースも無い。例えば道の色を指示するようなインタフェースがあるだけで、それはツールっぽくなるんではないかな。また、これはオブジェクト指向とは何かという話とも繋がってくる。オブジェクトとは内部状態を持った関数群では無い。目的とインタフェースを持った物だ。

これをワークショプでどう生かすのかというと、まだ何も浮かんでいないです。