連載
» 2016年08月23日 05時00分 公開

子どもだけではなく全ての日本国民にとってプログラミングが重要である、たった1つの理由特集:小学生の「プログラミング教育」その前に(3)(2/3 ページ)

[唐沢正和,ヒューマン・データ・ラボラトリ]

モノは移動しかできないが、情報はコピーされ増殖する

 次に原田氏は「カゼをうつしても自分は治らずにどんどん増えてゆく」という「感染のシミュレーション」を例に出した。

 「“モノ”は移動しかできませんが、“情報”はコピー(複製)されるものです。例えば『おいしいラーメン屋さんの場所を知っている』『友達が自分の悪口を言ったらしい』などの情報をある人が持っていたとします。この情報を他の人に教えても、それはなくならない。つまり忘れません。伝えると増えるだけです。情報を基にしたシステムというのは、原理的に増殖するものなのです。

 逆に、情報の上で『移動』を作るのは難しいことです。よくあるファイルの移動も内部的にはコピーした後に、元のファイルを削除するという2つの操作で移動したように見せ掛けているわけです。削除する前にコンピュータが止まってしまったら、コピーになってしまうし、順番が間違っていると消えてしまいます。

「『感染のシミュレーション』の体験から、モノと情報の違い、コンピュータの“すごい”ところと“もろい”ところ、“バカだけどすごい”ということが直感的に分かってきます」

 プログラミングで何が大変かというと、『情報システム、つまりコンピュータの中に、いかにしてモノを作るか、つまり人間のリアルの生活に近いモノを作るか』です。例えば、昔はコンサートなどのチケットは決まった数の紙として扱っていたので、ある売り場で売り切れたら他のチケット売り場に行く必要がありました。しかし、今はインターネットを介して情報システムからチケットを購入できます。ここで重要なのは1つの席を複数の人に売ってはいけないということです。チケットを売るシステムつまりプログラムに間違いがあると、大変なことになってしまいます。1人に1席だけ売るということが紙でしたら簡単でしたが、プログラムだとたくさんの複雑な命令が必要です」

 モノと情報システムとの違いとして原田氏は、サーバ上にあるWebアプリがたくさんの人(クライアント)からアクセスされることを例に、次のように付け加える。

 「情報システムは、全部が一斉に動く。何度でも使える。壊れると全部が動かなくなる。でも、直すとすぐに反映されます。一方、モノの例えとして自動車のリコールと比べてみましょう。リコールのあった車種の自動車は壊れる可能性はあるけど一斉に壊れはしません」

コンピュータが、0と1だけの2進法がベースになっている理由

 原田氏は、Viscuitを通じて2進法についても解説してくれた。ここにも、コンピュータとは何かを理解する上で、人間とは何かが分かってくる一例がある。

 「めがね」に入れる命令は1+0を1にするものと1+1を10にするものの2つだけだ。これが3進法になると3個の命令が足され、5個の命令が必要になる。これが10進法になると、54個の命令が必要になるわけだ。

 「大人がなぜ10進法の方が簡単だと思っているかというと、小学生のときに54個の命令を九九のように暗記したからです。現在多く使われているコンピュータは、0と1の2進法がベースになっていますが、それは命令の数が少なくて済む、つまり電子回路が簡単で済むからです。10進法に慣れている大人の頭では、知識として知っている2進法やコンピュータをなかなか理解できません。それを、目で見て、指で操作し体験することで、自然と2進法の仕組みが身に付いていきます。

 知識だけで『コンピュータは0と1で動いている』ということを知っていると、『コンピュータは0と1だから融通が利かない』『正しいか間違っているか、しかなく冷たい』という印象を持ってしまいますが、何も怖いことはありません。よく『コンピュータ=デジタル=冷たい、アナログ=暖かみがある』などといわれますが、0と1だけという印象の悪さが原因なのではないでしょうか。もしも、人間と同じようにコンピュータも十進法で計算していたら、『デジタル』は悪くいわれなかったかもしれません。デジタルとは本来、離散量という意味だけです。人間についての表現もデジタルとアナログが使い分けられます。身長や体重はアナログですが、お金や人数はデジタルです。0と1だから『デジタル』なのではありません。人間が行う10進法の計算は、本来の意味でデジタルなのです」

コンピュータの計算能力は人間に教えられたもの。表現の1つにすぎない

 原田氏は、人類がコンピュータの計算能力を見方に付けたことで、人生が豊かになったり正しい判断ができるようになったりということにつながったとした上で、これからのコンピュータ像として「新しい表現ツールとして見直す」ことを挙げる。

 「コンピュータというものはシリコンチップ上に電子の流れがたくさん集まっているだけで、2進法や10進法つまり、計算をもともと知っていたわけではありません。人間が計算をコンピュータに教えたら便利だったというだけで、正確な計算機としての側面ばかりが取り上げられるようになったのです」

 先ほどの2進法の計算もコンピュータに教えた表現の1つにすぎない。「0」「1」という数字を火山の煙に置き換えることで、全く違うアニメーションに見える。しかし、コンピュータが実行している命令は同じ。絵によって表現が変わり、人間の感じ方が変わっただけだ。原田氏は、こういったことを理解してもらうために、絵を描くことを中心にViscuitを開発したという。

コンピュータを通じて直感的に新たな発想を引き出せる

 原田氏は、Viscuitを開発しているときに、「このままいくと将来的に人間はコンピュータに全てを奪われてしまうのではないか」と感じ、「コンピュータにはない人間の強みとして残るのは、ゼロから何かを生み出す『創造性』」と思うに至った。

 「Viscuitは、絵と動きを使ってプログラミングを行うことで、直感的に新たな発想を引き出せます。

 面白い例を紹介すると、幼稚園児向けのビスケット教室で、カニの動きを自由に作ってもらったところ、何人かが誰からも教えてもらうことなく、自然と“カニっぽい”動きを作ることができた。これは、タブレット上で絵をいろいろいじっているうちに、偶然できたものですが、絵と動きがベースでなければ、こんな発見にはつながらなかったはずです。その意味で、Viscuitは“粘土”に近いプログラミングツールで、創造性を高めるのにも役立つツールになっています。粘土をこねているうちに、作るモノが決まったり、新しいモノを作る方向性が決まったりするのと同じイメージです」

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。