2020年4月から、小学校でプログラミング教育が必修になった。なぜ小学生から学ぶ必要があるのか。ロングセラー『教養としてのプログラミング講座』(中公新書ラクレ)の著者で、このほど増補版を刊行した清水亮氏は「プログラマーの思考法はあらゆる場面で活用できる」という――。
※本稿は、清水亮『増補版 教養としてのプログラミング講座』(中公新書ラクレ)の一部を再編集したものです。
「クローバー探し」でもプログラミング技術を使っている
プログラミングする人、すなわちプログラマーはどのように思考しているのか、ここで想像してみましょう。
実はプログラマーとして熟練すればするほど、生み出すプログラムがシンプルになるのと同様に、思考も効率化され、洗練されていきます。そしてその洗練こそが、プログラミングを他の仕事に活かすヒントとなるのです。
たとえば、みんなで河原に行って「四つ葉のクローバー」を探す、そんな場面を想像してみてください。
友達数人で四つ葉のクローバーを探そうとするとき、どうしますか?
全員で同じ場所だけを探したりはしないですよね。「Aくんはあっち、Bちゃんはこっち」というように、受け持つ範囲を割り振って、それぞれ探すように考えるのが効率的で自然ではないでしょうか。
実はこの方法は「分割統治法」と呼ばれ、プログラミング技術の一つとして知られています。
「分割統治法」の技術は、たとえば営業マンがエリアを決め、片っ端から電話をかけていくという営業活動、いわゆる「エリアセールス」として応用できるでしょう。ピザの宅配店がそれぞれ宅配エリアを決めて営業する、という戦略なども分割統治法の応用例といえます。