キッズトーク@プログラミング+ 第1回
UEI・清水亮氏と角川アスキー総研・遠藤諭氏による対談
「プログラミングは小学生からするべき」清水亮氏・遠藤諭氏が語るその理由
2016年08月22日 19時30分更新
「Excel」はサイボーグスーツなのだ
遠藤:英国がいきなりプログラミング教育に積極的になった理由のひとつとして、グーグルの元CEOエリック・シュミットが英国の学校を見学したらWordやExcelしかやってなかった。
当時のBBCのニュースをよく覚えているんですが、それじゃダメだみたいな論調になった。そうしたことが、きっかけになったみたいな部分があると思うんだけど、僕は、Excelみたいな世界こそ重要だと思うんですよ、実は。
清水:いやそれはね、難しい話でねぇ。
遠藤:どういう話かというと、脳で覚えきれないから表にする。それをコンピューター上でやればいろんなことが自動的にできる。
しかも、プログラムをコネコネと書いていくんじゃなくて表の適切なところに式を埋め込んだり属性を持たせたりできる。そういう頭の中でやりたいモヤモヤしたイメージを解決することこそが、本来のプログラミングであるべきだと思うんです。
清水:わかります。
遠藤:要するに、プログラム言語を使ったプログラミングをやるのも賛成なんだけど、コンピューターというものを使って生産的なことをすることが本質だと思うんです。
清水:むしろ、それは物すごい関連性がある話で、なんでさっき「難しい話」って言ったかというと。もともとExcelがプログラミング言語だから。
遠藤:「制約指向プログラミング」とか「宣言型プログラミング」とかに分類されますからね。
清水:もともと、Excelというか「表計算ソフト」っていうのは、日本では初期には「簡易プログラミング言語」とか言っていたんですよね。
遠藤:「ノンプログラミング」などとも言いましたね。
清水:だからExcelは立派なプログラミングの世界なんですよ。
遠藤:でも、むかしの会社には、横罫線だけが引いてある紙の「スプレッドシート」(集計用紙)があった。
あれだけでも相当に生産性が上がった。それを使っていくなかで歯がゆいところを機械がやってくれる便利さがExcelであるわけですよね。
それで、それってなんだろうと思ったら、「人は生まれながらにサイボーグ」(ナチュラル・ボーン・サイボーグ)だという理論を展開するアンディ・クラークという人がいるんですね(※2)。
むかし、僕はオートバイのオフローダーに乗っていたんだけど、慣れてくるとお尻に棒が生えていて「体の一部である」その先っぽが地面を蹴っている感覚になってくる。
それに似た感覚がExcelにもあって、ホワイトカラーの生産性をあげるサイボーグ的一体感みたいなものを、Excelの作者であるチャールズ・シモニーは考えたんじゃないか。
清水:それは大事な話ですね。
遠藤:むしろ、これから進んでいくのはそっちの方向なんだと思うのです。プログラミング的なこととサイボーグ的な感覚で動かせることというのは、本当はものすごい近いところにあるはずなんです。リアル空間との関係も含めてだけど。
ところが、石戸さんの本(※3)によると、日本は15歳の子供がコンピューターを利用する割合はOECD加盟国中で最下位に近く、プログラミングに使うは最下位というような、悲しむべき統計がある。プログラミングのことしか見ていないととてもまずい気がします。
※2『生まれながらのサイボーグ: 心・テクノロジー・知能の未来』( 呉羽真・久木田水生・西尾香苗訳、春秋社)等参照。
※3『デジタル教育宣言/スマホで遊ぶ子ども、学ぶこどもの未来』(角川EPUB選書)。OECDの数値は2003年と古いものだが、2012年のPISAの調査で自宅でコンピュータを使う生徒の割合は33カ国中下から2番目と、状況はあまり変わっていないようだ。
座学と実学の間に「プログラミング」がある
清水:最近、ボクは子どもたちにプログラミングを教えることをやっているんですが、そのときにプログラミングをどう捉えているかというと「自分が表現をするための道具」ということなんです。プログラムできる人と、できない人の表現力は相当に違います。
たとえば、「月がなぜ地球に落ちてこない理由の説明」っていうのを大人はできないですよ……落ちてくるころには地球はもうないんだよとかになる。
遠藤:なるほど(笑)。
清水:説明できないからボヤかしたことを言うしかないんだけど、ところが高校の物理で万有引力を習っているはずなんですね。そうすると、地球は落ちてくるはずだ。これを理解する方法として、かなり良いのがプログラムを書くことなんですよ。頭だけで理屈を考えて、これ微分しなさいだとか頭おかしくなっちゃうじゃないですか。
遠藤:計算物理学の世界というか、それをオブジェクト指向的なプログラムで書けたらいいね。
清水:そうそう。実際、それでやったときの説得力って本当にすごくて、初速がないとダメだよとかね。そういうことが、実際にプログラムで体験することで理解できるんですね。
遠藤:座学と実学の間に「プログラミング」があったみたいな。
清水:同じようなことで、たとえば、ボクの会社の中でもどういうことが起こるかっていうと。こういう処理入れてよって時にプログラマーにうまく意味が伝わらないとこがあるわけ。
遠藤:なるほど。
清水:その時にスタッフは僕に対してなんていうかっていうと「清水さん何言ってるかよくわからないんで、プログラムを書いて、あなたの欲しい動きを説明してください。そしたらできますから」。
遠藤:すごい会社ですね。
清水:それ、実際にやっています。
遠藤:言葉や図で表現できないものがある。
清水:そうです。表現としてプログラムを書いてる。そのプログラムを見てどういう処理を欲しいのかっていうのをプログラマーが感じとって、僕がJavaScriptで書いたものを、JavaとかCとかの形に翻訳して入れている。
遠藤:わかりやすいといえば、これを言うと批判されることもあるんだけど、みんなでFlashをつぶしちゃったというのはすごく罪だったと思うんですよね。
清水:みんなというか、スティーブ・ジョブズがね。
遠藤:あんなにすごい表現手段はなかった。しかも、プログラミング言語として見ても、Flashには、タイムラインがあることがものすごい助けになる。要するに、一種の紙芝居といってもいいと思いますけど、未来の状態を数十分の1秒ずつ止めて確認しながらデバッグしながらつくる感じですよ。
さっきのエクセルの議論とも通じるんだけど、きちんとしたオーサリング環境とプログラミング言語がセットになったものが欲しい。
清水:それ自分でつくってください(笑)。
遠藤:欲しいなと考えているのは、そうしたものに、世の中のあらゆるものがオブジェクトとしてあらかじめ入っていて、そのまま使えてしまうという言語です。その中にあるエージェントが、すなわち世の中のプログラムであるというような世界です。
清水:そういうのもひとつのおもしろい方向性ですよね。その意味では、僕は、これだけ多くのプログラミング言語があるっていうのは、喜ばしいことだと思います。
遠藤:人の言葉がたくさんあるように。
清水:そうそう。で、その話になるといつもこの話になっちゃうんだけど、ボクは企業の英語公用語化に反対してるんですよ。きわめてバカげてると思っていて、なぜかというと、英語で考えた瞬間に10億分の1になっちゃうわけ。
日本語で考える人って、1億2000万人しかいなくて、それって強みですよね。それってユニークで、考え方が違うわけじゃん。ほかの国の人と考え方が違うから、日本は強かったって考え方だってあっていいでしょう。
遠藤:プログラミング言語がプログラムを書かせるというのはありますからね。