コンピュータの本質を新規開発に活かす 原田 康徳 計算機科学者、ワークショップデザイナー

professor's TALK

プログラミング体験でコンピュータの本質を学ぶ―ビジュアルプログラミング言語“Viscuit“はなぜ生まれたか

私が直感型プログラミング言語であるViscuitを開発したのは12年前のことです。それまで私は、コンピュータのプロたちが簡単にプログラムを書けるようにする研究に取り組んでいました。いわば、専門家のことだけを考えて研究をやっていたわけです。

ところがその頃、気がつくと急に、コンピュータが社会の中に入り込んできました。ただしその反面、コンピュータの良し悪しが、本質ではない表面的な部分で語られるという風潮が目立ちました。ゲームをしすぎるとゲーム脳になるとか、インターネットは悪いものだとか、コンピュータの悪いイメージばかりが強調されるようになったのもその頃のことでした。

そのような主張をしている人たちがコンピュータの本質を理解していたかというと、そうではありません。彼らはコンピュータ自体ではなく、その上で動いているアプリケーションを見て良し悪しを判断していたのです。コンピュータの本質はアプリケーションではなく、プログラミングです。そこでプログラミングの楽しさを知ってもらいたいと思うようになったのが、Viscuitを開発したきっかけでした。

それから12年が経って、やっとプログラミング教育のブームがやってきました。しかしながら私は、このブームも結局のところコンピュータのほんの一部しか捉えていないと考えています。プログラミング教育の良さとしてよく取り上げられるのは、創造性教育や論理的思考を育むなど、プログラミングを通して得られる副次的なメリットです。一方で私がそれよりも重要だと思うのは、コンピュータ自体を理解すること、またコンピュータの下にある情報とは何かを理解することです。

何故これほどまでにコンピュータの本質が理解され難いのでしょうか。その理由は2つあります。

まず1つ目の理由は、コンピュータが何かの代替物としてではなく、全く新しいものとして世の中に現れたからです。これまでの発明は全て、それ以前にあったものの機能を発展させる形で生まれています。例えば自動車は馬車の代替物であり、「移動する」という機能を発展させた発明です。馬車は当時の社会にもありましたから、その頃の人たちもその機能をよく知っていましたし、自動車もその代替物としてすんなり受け入れることができたわけです。しかしコンピュータは何かの代替物としてではなく、いきなり社会に入り込んできました。だから世の中は、その機能を理解しないままに、コンピュータの存在を受け入れるしかなかったのです。

2つ目の理由は、コンピュータの表面で動くアプリケーションしか使われていないことにあります。アプリケーションは誰かがプログラミングすることで開発されているわけですが、それがどのようにして動いているのか、その中身を知るには実際にプログラミングをして学んでいくしかありません。

この2つを通して言えることは、我々は「自分でやってみる、使ってみる」という体験を通してしか本質を理解できないということです。皆さんは小さいころに積み木で遊んだ経験があると思います。小さい子供は、この遊びの中で何度も失敗することを通して、重心の概念など力学の基礎を直感的に学んでいきます。力学というのは、我々が生活しているこの世界の原理です。私がViscuitで目指してきたものも同様に、コンピュータの世界の原理を体験を通して直感的に学べる「積み木遊び」の開発だったのです。

SCHOLAR講師

Pagetop