左から吉村氏、草野氏、清水氏

吉村:著作権法を調べたことがあるが、if分岐の塊だった。すべての事象を論理分割しているだけだ。多くの法律は「特定の事象に含まれるときにそれを罪とする」という形式になっている。

草野:現実をプログラミングすると法律になるという感じだ。どの場合は合致し、どの場合は合致しないというルールの積み重ね。シューティングゲームの当たり判定と同じだ。

そうした考え方を受け入れられない人もいるのでは?

草野:受け入れられないというよりも、そうした考え方を単に知らないということだと思う。小学校のプログラミング教育でそういうことが分かっていれば、プログラミングに対するハードルはすごく下がる。「そういうものだ」と理解しているかかどうかが重要だと思う。

 自分は高校生にプログラミングを教えているが、最初にこの切り分けを伝えている。すると、「そういうものだよね」と賛同する生徒と「もっとあいまいなものだと思っていた」と言う生徒が半々だ。少なくとも人が作ったものはデジタルに動いているということを分かってもらうところから始めている。それが小学校のときに終わっていると思うと、プログラミング教育に取り組んでいる私達の側もうれしい。

 「仕組みが魔法のようにできあがっていて理解できない」というのはいいが、「あくまで仕組みがある」ということは覚えておいてもらいたい。それだけでかなり違う。例えば、交差点を信号機が青になった瞬間に渡ろうとしたとき、信号機が動く仕組みを知らないと「反射神経を鍛える」という方向で努力してしまう。「対角車線の信号機が赤になってから3秒後もしくは5秒後に青になる」というルールを知っていれば、対角車線の信号機だけを見ていれば、青になるぴったりの瞬間に足を出せる。

そうした仕組みを自分で作り出すのがプログラミングであると。

清水:自分はスマホが自宅のWi-Fiのエリアから外れたらバスの予定表が届くようにしている。プログラミングを使えば生活の質を上げることができる。

草野:今のSIerは企業が欲しいシステムを作っている。個人的には、将来はSIにもホームプログラミングの時代が来るんじゃないかと思っている。生活を便利にするために家をプログラミングするということだ。壁をたたくとアラームが止まるとか。大工とデザイナーとプログラマーが現場でどんな家を作るか話し合う。今までは家を建てるときに検討するのは形状や使い勝手までだったのが、これからは「どう動くか」も考えるようになる。生活に寄り添うプログラミングだ。今はプログラマーが自分の生活を便利にするために趣味でやっている程度だが、これからはそうした専門の職業ができるかもしれない。

 自分でプログラムを作らなくても、知識があるのとないのとでは違う。例えば、家を建てるときに建材や耐震性などの知識があれば、そうした話を大工さんとできる。同じように、家のためのプログラムを発注するときには、プログラムの動きを理解していたほうが考えを伝えやすくなる。自分がプログラムを書かなくても「どういう条件のときにどういう動きをして欲しい」ということをはっきり伝えられる。