ビスケットのあれこれ

ビジュアル言語ビスケット(Viscuit)に関するあれこれを書いてゆきます.

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

「プログラミン」と「ビスケット」を比べてみる

2010-08-20 17:17:17 | 1
文部科学省が「プログラミン」という子ども向けプログラミング言語を公開した.
いろいろと盛り上がっているようで,プログラミングというコンピュータのもっとも基本の部分にこうやってフォーカスが当たるのは歓迎したい.

とはいえ,ビスケットを必死でやっている僕としては,黙っているわけにもいかないので,どういう部分が違うのか,ということを書いてみたいと思う.インタフェースがプヨプヨ動くとか音が出るとか,そういう見た目の違いは,比べればわかるので.

なにせ,ソフトウェアなのだから,設計上のいろんな部分で,いかようにでも選択できる.作る人の物の考え方がはっきりと表れてしまうし,思想を明確に強く持っていないと,設計全体がすごく揺らいでしまう.

プログラミンとビスケット,根本的に違うのは,コンピュータのどういう魅力を子どもに伝えたいか,という部分だとおもう.これは作者がプログラミングそのものをどのように感じているのか,ということでもあるのだが.

僕は設計では,基本原理の部分をどこまで小さくできるか,という点に力を注いだ.同じことができるなら,基本機能の組み合わせでできる方をよしとする.機能はやみくもには増やさない.

もっと戻ると,僕は物理に感動した人間だ.物理のすごさはたった1行の式で世界の動きが記述されているということ.その式にいろんな初期値や条件をいれることでいろんな動きが出てくる.美しい世界の一つの例だと思う.

コンピュータはソフトウェアでいろんな世界を作ることができる.ごたごたした汚い世界も作れるし,物理のように1つの式だけで記述される美しい世界も作ることができる.だから,ソフトウェアを作る人は,そういう目を養うべきだと思っている.

レゴで,いろんな特殊パーツが入っていて,それでお城とか作れるやつ.そういうのをよしとするか,それとも基本キットだけで作ろうよ,という立場か,の違いみたいな.

プログラミンは機能が全部アイコンで表現されていて,たとえば右に進むとか,左に進むとかが別のアイコンになっていたりする.プラス・マイナスを使ってよければ,右と左に進むというのを一つにして,「横に動く」という言い方にして,プラスなら右,マイナスなら左のようにやってしまうところだが.ここは,右と左は別の機能に分けたようだ.ところが,速く進む,ゆっくり進むは,なぜか数値で入力させている.ここはアイコンに徹して,右に動くを3個入れたら,速く右に動く,という意味にさせたり,GUIでアイコンが左右に伸びるようにさせて,速く動かすには横長のアイコンにする,みたいな設計でもよかったと思う.それから,速度を,X秒あたりYのように分数で表現するのは敷居が高そう.そもそも速度なんて概念を知らなくても,コンピュータの面白さを伝えることができるわけだから,その辺りは...

ビスケットは,メガネで全部表現している.絵がどのように動くか,絵がぶつかったらどうするか,そういったことをメガネだけで表現している.右に動く,左に動く,回転する,ゆっくり回転する.全部,メガネの中に絵を置く,置き方だけで表現する.ただし,そういう制約があるので,なんでもできるわけではない.ビスケットは,何か表現したいことをなんでも素直に表現できる,という部分は犠牲にしている(最初にやりたいことが決まっている人は,プログラミンの方が素直に表現できるかもしれない.たとえば,ビスケットでできないことの一つに,クルクル回転しながら横に動く,という動きがある.これはプログラミンだと「右に動く」と「回転する」を組み合わせればすぐにできる).

もうひとつ,相対座標を教えるかどうか,という部分.

たとえば,魚の絵があって,右に動くようにしたとする.その魚を反対向きにおいたら,どっちに進むべきか,という問題.いまここで「右に」と言ったけど,そもそもその魚はどっち向きに描いた絵なのか.プログラミンは「右」は画面に対しての右なので,絵がどっち向きであろうが画面の右に動く.ビスケットは,絵に対してどっち向きかが重要なので,魚が右向きに描かれているのであれば,「右にすすむ」じゃなくて,「前にすすむ」である.前に進むのであるから,魚の絵を反対向きにおいたら,その魚にとっての前,つまり左に進むのである.魚を下向きにおいたら当然下に進む.こういうのを相対座標と呼ぶ.これ,結構難しくて.大人でも,勘違いすることがある.

相対座標はロボットの制御などにも重要だけど.プログラムの楽しさを知るために相対座標を知らなきゃいけない,というのちょっと違う気がするので,相対座標を採用していないプログラミンは,一つの考え方ではあると思う.ただし,そうであるなら,絵を回転させる操作はどうなのか...

ビスケットでは,ワークショップでは使ったことはないが,回転を禁止するモードというのが実はある.これを使うと,絵は回転させることはできないので,ステージに置いた絵も,メガネに置いた絵もそのままである.メガネを複数置いて,どんな複雑な動きをさせても,絶対に絵の向きは変わらない.

僕は,未就学時に対するビスケットの場合は,回転を禁止する設定でもよいのではないかと思っている.その理由は,ビスケットのワークショップそのものの考え方だけれど,適当にやったら何か動いて楽しい,というのではなくて,しっかりと自分がやっていることを理解して,自分が自由自在に制御可能な範囲で遊んでほしい.ということがあるからである.回転は4年生くらいからでもいいかもしれないなぁ.

で,ビスケットでもっとも大事にしたいのは「子ども同士が教えあう」という部分.教えあいが起きるためには,子ども自身が「この知識は有用で,他人にとっても有用に違いない」と思わなければならない.そう思わせるような,子どもにも理解可能な世界観と,子どもが理解・説明できる言葉と.

そんなことを常に改良しながらやっているわけだ.
コメント   この記事についてブログを書く
« なぜプログラミング教育を必... | トップ | ビスケットの設計方針 »
最近の画像もっと見る

コメントを投稿

1」カテゴリの最新記事

関連するみんなの記事