モテモテプログラミング言語 †何となく自分の名前で検索すると、割と最初の方に出てくるのが、これ。モテモテプログラミング言語情報教育のMLに2004年に送ったものだ(反応は全然無かったけど…)。 当のMLでは、「子供にプログラミングをどう教えるべきか・又は必要か」って言う議論が行われていたんだけど、私の主張は、プログラミング言語にはモテ要素が必要だって事だ。多くの教師は、要不要でプログラミング言語を考えがちだが、私は、モテ要素があるとうそぶいて中高生を動機付けた方が良いんじゃないかって思っている。 バンド少年達の動機 †多くの人にとってコンピュータは単なるツールだし、日常生活に必要不可欠なスキルだと考えがちだ。けれども、私がこの文章で言いたかったのは、「バンド少年としてのプログラミング言語」という教え方は可能ではないかって言うお話だ。 中学時代に、「モテるから」という理由で、楽器を初めて、もてるつもりで始めた音楽が好きになってしまい、プロになった人もいるだろう。プロにはならなかったけど、趣味としてやったり、慰問で演奏したりして他の誰かを元気づけている人もいるだろう。 うろ覚えで悪いが、サンボマスターが音楽やったらモテモテだと思って、音楽始めたが、プロになった現在でも別にモテナイ、みたいなことをぶつぶつ言っていた。でも、モテルモテナイは別にして、彼らの音楽が誰かの心に影響を与えていることは確かなようだ。 みうらじゅんも中学生の頃、もてようと思い、とりあえず400曲、曲を作ればもてるだろうと、女の子と遊ぶ暇を削って、曲を作っていたそうだ。大分ピントがずれた努力ですが…。 今までであれば、プログラムを覚えれば経済的に成功できると教えれば良かった。しかし、以下の記事に見るように、プログラミング習得が別に経済的な成功をもたらすものではないという調査結果が出始めた。 プログラミングはもはや輝かしい仕事ではない。というレポートがある。プログラミングスキルがもはや高い給与などのすばらしい経済的なリターンを与えないと報告したレポートだ。 そのようになった暗い見通ししか与えられないプログラミングスキルをどの様に子供に覚えさせるのか?考えた結果が、「プログラミングを極めればモテモテ!!」、これである。 中学時代に、楽器やった人の多くは、プロになる訳ではない。それでも例えばパーティなどで彼らが演奏する機会は結構あるし、楽しみながらやっている。プログラミングも同じように、ちょこちょこプログラミングが書ければ、1日仕事を10分で片づけられるような例が結構ある。htmlのリンクを張り替えるとか、このフォルダーにあって、あっちのフォルダーに無いファイルを探すとか、結婚式で楽器を弾くように、プロに頼む程でもないが、あったら便利だ程度の仕事にプログラムが役に立つことは多い。 子供にプログラミングを教えるという話で、常に忘れられるのは、子供をどの様に動機づけるかという観点だ。先に書いた様に、お金持ちになれるという言葉はもううまく機能しない。教育工学会という学会があるが、そこでも、どの様にプログラムを教えるかというツールや実践は報告されても、どの様に動機付けるかという観点からの報告は少ないように思える。でも私は、ツールよりもどの様にしたらプログラミングを動機付けられるのかという点に興味がある。それだったらいっそ、「プログラミングが書けたらモテモテ」って動機付けする方が良いのではないか? つまり、中高生における音楽のように、
という回路を応用して、
という回路を作っていけば良いのだ。書いていて何となく道が遠そうに思えてきたが。 モテモテプログラミング言語のためのツール †とはいえ、普通のプログラミング言語はあまりに地味だし、競っている部分も、アルゴリズムの改良で、実行速度が3%速くなったとか、余りモテ要素があるように見えない(僕自身はぐっと来ますが)。 それで、ちょっとはましなツールとして何があるのか? 一つあげられるのは、ヴィジュアルな出力を作り出せる言語だ。 Flashや、Processing。変わったところでは、motionExpressというのもある。大事なことは、出力が格好いいと言うことだ。print 'hello world'とは違い、アウトプットが綺麗に動くことで、他の人間が格好いいと思ってくれるかも知れない。オレ様クールといえるようなデモが作れれば、もう女子校生のハートはわしづかみだ(多分に妄想が入ってますが…)。 他にあるとすれば、SuperColliderとかMax/MSPと言った音楽生成ソフトだろう。 最初は何であれ、文法の正しさやら、最適なアルゴリズムより、とりあえず動くとかとりあえずペカペカ格好いいみたいなものをどうやったら作れるようになるのか教え込んだ方が、いきなりhello worldを教えるよりも良いのではないかと考えている。 正しい文法やら、効率的なアルゴリズムなどは、それらを教えた後に教えればいいのだ。いきなり教えても、子供達はそれがどの様に役に立つのかわからないし、そもそも興味ややる気をそいでしまうことになりかねない。 大事なことは、「楽器が弾ければモテモテ」という幻想をうまく利用するように、「プログラミングが書ければクール」という幻想を如何に植え付けるかという広報戦略なのかも知れない。もうananとかで、「この冬お勧めの言語,Lisp」とか「使い回せるアルゴリズム100」とか特集してもらおうか。 今までのハッカーが、基本的にプログラムやら回路図に萌える人々だったので、こういうアプローチは余り、試みられて来なかった。しかし、身の回りにPCばかり増えていくのに、簡単なプログラムさえ書けない人が多い。その様な人たちに、どういうインセンティブを植え付けることが出来るのか、考えて良い時期なのかも知れない。中高生向けには、モテってキーワードは、そこそこ食いつきの良い言葉かなと思う。 たとえモテ無くても、ネットからリンクたどって画像落とせるプログラムとか書けるようになるから、良いじゃないかと無理矢理ポジティブに考えてみる。 正月から妄想全開で申し訳ないが、子供とコンピュータとの幸福な出会いって、もしかしたらこういう出会いなのかも知れない。 |