言語ゲーム

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

Twitter: @propella

第37回 Smalltalk 勉強会「簡単だけど奥深い!Scratchプログラミングの魅力」

大阪マラソンの翌日、シンコム・システムズ・ジャパン株式会社にて開かれた Smalltalk 勉強会に参加しました。今回のお題は Scratch の紹介。阿部さんがIT Pro に連載中の「簡単だけど奥深い!Scratchプログラミングの魅力」を元に、読むだけでは分からない様々なデモが繰り広げられました。

例えば Scratch の特徴として、簡単に並行処理プログラムが書ける点があります。これを利用してお店に出来る列を再現した待ち行列シミュレーションが紹介されました。このシミュレーションでは客が持ち込む注文を店員さんが次々と処理していきます。パラメーターを変えて注文間隔を減らす(頻度を増やす)と列がどんどん伸びてしまうのですが、そこで慌てず店員さんをコピーして列を減らすと注文をさばく量が増えるので列が短くなります。ここで単に店員さんをコピーしたり削除したりするだけで処理能力を変えられるのがミソです。

また、ピコボードという、マイクや可変抵抗など予め便利なセンサが組み込まれてある基板を使ってのトロンボーンのデモでは、マイクに息を吹き込みつつスライダを動かすと Scratch の画面に描かれたトロンボーンが伸び縮みしながらユニークな音色を奏でます。また、KINECT を使ったデモでは、実際に KINECT の前に阿部さんが立って手足を動かすと阿部さんの動きの通りに Scratch のネコが動きます。この仕組を利用して画面上に配置された太鼓を演奏するデモでは阿部さんが本当に楽しそうでした。

さて、しかしこの勉強会でのハイライトは self halt を使ってのバイオレンスプログラミングです。実行中のプログラムを直接編集出来るという Smalltalk の利点を生かし、ブレイクポイントを埋め込んだ開発版 Scratch でどのようにブロックが実行されるのかを追求して行きます。観客置いてきぼりで Scratch の内部構造を解明してゆく味わいのあるセッションでした。Scratch はまだコードが荒れていない時代の Squeak 2.8 をベースにしているだけあって読みやすいのだそうです。

と、十分楽しんだ後、こどもプログラミングサークル・スクラッチの紹介がありました。絶賛ボランティア募集だそうです。子供たちが人生初めてプログラミングに触れる瞬間に立ち会える素晴らしい機会です!