キッズトーク@プログラミング+ 第1回
UEI・清水亮氏と角川アスキー総研・遠藤諭氏による対談
「プログラミングは小学生からするべき」清水亮氏・遠藤諭氏が語るその理由
2016年08月22日 19時30分更新
9月15日〆切で「第1回全国小中学生プログラミング大会」の募集が開始された。作文や音楽やスポーツと同じように、プログラミングを体験した子供たちが目標にしてほしいというものだ。
コンテストを、NPO法人CANVASの石戸奈々子理事長とともに進めるのが、株式会社UEIの清水亮社長と株式会社角川アスキー総研の遠藤諭取締役の両氏だ。プログラミングに関しては、それぞれ実際のビジネスの現場、取材やインタビューを通して触れてきた二方に、子どもたちとプログラミングについて語ってもらった。
織田信長はプログラマー? プログラムの本来の姿
遠藤:今日は、プログラミングを学ぶことについて話をしたいと思っているんだけど、清水さん「教養としてのプログラミング講座」って本を書いたでしょう。
清水:あれはプログラミング教育というよりも、プログラミングを教養として知っておくと何かと人生得ですよという内容です。
遠藤:そうなんだ。
清水:そうです。遠藤さんも「コンピューターのバグの起源とは?」みたいな話を著書の「近代プログラマの夕」とかで書かれてますけど。ボクもそれに倣ってプログラミングっていう言葉の起源はどこからなのかって調べてみたんだけど、あれはギリシャ語なんですね。
遠藤:ほう。
清水:どういう意味だったかというと、当時はいまのコンピューターの「プログラム」の意味はないわけですよ。もとは、「公文書」の意味だった。
ラテン語系だから、たとえば「プロ」と「ランマ」にわかれるとして、「プロ」は、「プロパガンダ」とか「プロモーション」と同じで要するに「広く知られる」とか「みんなが知っている」とか「公」(おおやけ)の意味に少なくともつながりますね。
一方、「ランマ」は、「グラマー」と一緒ということで「文書」となる。考えると、実は、すごく「プログラム」というものの本質が見えてくるんです。
遠藤:どういうこと?
清水:実は、プログラムっていうのは、コンピューターの発明よりずっと昔からあって、それは何を目的にしていたかというと、実は「支配」なんじゃないかと。当時の「プログラム」ってどういうものがあったかって言ったら「モーゼの十戒」とかなわけ。
あるいは、人々を支配するための宗教的な考え方だったり、組織論だったり、マネジメントという部分だったりとかがあって、それが本当のプログラムの姿だった。
遠藤:よくコンピューターのプログラムを説明するときに、英語の「プログラム」(Program=運動会のプログラムやテレビの番組の意味)みたいに「前もって書かれたもの」みたいな話から入るけど、そうしゃなくて、「公文書」だと。むしろ、法律みたいなものだというわけですね。
清水:そうそう、法律もプログラムじゃない。
遠藤:ルールや世の中のしくみを記述しているわけだからね。
清水:そうですね。プログラムは公文書だというのは、結構、インスパイアされるものがあるんです。たとえば、それによってプログラムの世界にも分割統治とか政治と同じ概念が出てくる。
遠藤:最初期のコンピューターは、まさに原始共産主義。それがネットワークやシステム資源の配分や共有という話になる。
清水:だけど、逆じゃないかと。そもそもプログラムが先にあった。それが、20世紀なかばにコンピューターが発明されて、人々以外のものをプログラムできるようになって、いまの「プログラミング」っていう概念ができあがっていったんじゃないかということですね。
遠藤:なるほど。それがいまや、iTunesが「これからは家族6人までは音楽や映像や本を共有できるようにしました」といって、世界各国のいままでの著作権の立場はどうなるというようなことが一夜にして起こる。法律とプログラムは近い関係にありますね。
清水:そういうふうにプログラムというものを見たときに、「教養としてのプログラミング講座」につながってくるんだけど。たとえば、よく出てくる例としては「織田信長はプログラマー」だと。
遠藤:ふむ。
清水:長篠の戦での「鉄炮三段撃ち」。あれは「トリプルバッファリング」だからプログラミング的に見ると、戦国時代としてはなかなかのアルゴリズムであるわけです。
遠藤:うんうん。
清水:物事の「効率化」とか、「作戦」とかっていうものが、ものすごく凝縮されているのが「プログラミング」というパラダイムであると。これを学んでおくことが、実は、組織の上に立った仕事をこなしていくときに役立つのではないか? というのが、昨年、何冊か出せた本の裏のテーマでした。
遠藤:それいわゆる「コンピュテーショナル・シンキング」の話とも関係してきますね。
清水:それって、ボクの言っていることと同じじゃないの?
遠藤:よく「プログラマーの思考法を学ぼう」なんて説明されているけど、プログラムやアルゴリズムの話じゃないんです。「計算論的思考法」などと訳されてますが、プログラマーであってもこれがないとダメであるというような。
コンピューターは何ができて、何ができないかというようなことでもあります。でも、誰でもプログラムを書こうかなというくらいは考えたほうがいいはずで、最終的には同じところに行きつくべきものですね。
小学生からプログラミングをやるべき“明確”な理由
遠藤:それじゃ、「プログラミング教育」については?
清水:ボクはね、ほかのなによりも先にプログラミングを勉強させるべきだと思っています。
遠藤:世の中では「小さい頃からどんどんプログラミングをやるべき」派と、「プログラミング的な論理的な学びがあればよい」派で、意見が真っ二つにわかれていますよね。清水さんの場合は、「どんどんやるべき」派なんだ。
清水:プログラミングを最初にやって、それが軸になるべきなんです。そうすると、「国語」「算数」「理科」「社会」、すべてが好きになると思ってる。ボクがそうだったから。
遠藤: おおっ「ボクがそうだったから」ときた。
清水:プログラミングを真っ先に覚えて、そのプログラミングの延長上で、さまざまな教科を取り入れて行って興味をもたせていくって順序の方がよいと思うのです。
詰め込み型で「この時間は算数やりましょう」とか、「この時間は国語やりましょう」とか、「この時間は社会やりましょう」というより、実は、プログラミングをやることで一貫して集中的にいろんなことが学べるんじゃないかっていう考えなんです。
遠藤:具体的には?
清水:たとえば、そもそも子供にとってプログラミングというのは一種の遊びなので、とても楽しいはずのものなんですね。
遠藤:実際、ワークショップとかでも盛り上がる。遊びの原型に近いものがある。
清水:積み木やプラモデルづくりみたいなところがあって、そもそも楽しいはずであると。その中で、たとえば三角関数のありがたみっていうのを知っている社会人ってほとんどいないですよね。それが、「ゲームをつくる」ってなると、三角関数もピタゴラスの定理もないと死んじゃうわけですよ。
遠藤:だから、最初にプログラミングを早くやるべきだと。それで思い出したのは、米国に「ThinkFun」という知育玩具の会社があって、「LaserMaze」とかいって盤上に鏡を置いて、あとからレーザーポインタをあてたら予測どおりに光が反射して届くか? みたいなユニークなオモチャを出している会社なんだけど、そこが「CodeMaster」というおもちゃを昨年発売したんです。
ひとことでいうと、これが紙とプラスチックの駒でプログラミングを学ぶゲームなんですね(※1)。
清水:はい。
遠藤:元NASAのエンジニアがつくったということなんだけど、その後、その作者が「TechCrunch」に寄稿していて、まさに清水さんと同じような意見でしたね。
つまり、プログラミング教育は、ひとつずつ早い段階でやらなきゃダメだと。要するに、大学がやっていることを高校で、高校がやっていることは中学で、中学でやっていることは小学でやるべきというような話ですね。
清水:ボクもそう思いますよ。プログラミングは大学入学時点でやったのでは間に合わない。大学では、プログラミングを当たり前のように道具として使って学問を深めていくべき段階ですからね。
※1 2015年末に発売された8歳からを想定したボードゲーム。スタートからゴールまでの道のりを簡単なプログラミングによってクリアすることを目指す。