2020年4月から、小学校でプログラミング教育が必修になった。なぜ小学生から学ぶ必要があるのか。ロングセラー『教養としてのプログラミング講座』(中公新書ラクレ)の著者で、このほど増補版を刊行した清水亮氏は「プログラマーの思考法はあらゆる場面で活用できる」という――。

※本稿は、清水亮『増補版 教養としてのプログラミング講座』(中公新書ラクレ)の一部を再編集したものです。

黒の背景に孤立した手でおいしいバーガーサンドイッチ
写真=iStock.com/Makidotvn
※写真はイメージです

「クローバー探し」でもプログラミング技術を使っている

プログラミングする人、すなわちプログラマーはどのように思考しているのか、ここで想像してみましょう。

実はプログラマーとして熟練すればするほど、生み出すプログラムがシンプルになるのと同様に、思考も効率化され、洗練されていきます。そしてその洗練こそが、プログラミングを他の仕事に活かすヒントとなるのです。

たとえば、みんなで河原に行って「四つ葉のクローバー」を探す、そんな場面を想像してみてください。

友達数人で四つ葉のクローバーを探そうとするとき、どうしますか?

全員で同じ場所だけを探したりはしないですよね。「Aくんはあっち、Bちゃんはこっち」というように、受け持つ範囲を割り振って、それぞれ探すように考えるのが効率的で自然ではないでしょうか。

実はこの方法は「分割統治法」と呼ばれ、プログラミング技術の一つとして知られています。

「分割統治法」の技術は、たとえば営業マンがエリアを決め、片っ端から電話をかけていくという営業活動、いわゆる「エリアセールス」として応用できるでしょう。ピザの宅配店がそれぞれ宅配エリアを決めて営業する、という戦略なども分割統治法の応用例といえます。