プログラマーは、一度決めたデータ型を変えません。途中で変えるとプログラムが動かなくなるからです。日常会話でも、「データ型が違うんじゃないですか? 日付型の話なのになんで曜日型の話をするんですか?」
となる。僕ですら「そこは察してよ」と思うことがあります。日付と曜日は違うっていうのがプログラマーの言い分ですが、同じ暦なんだからおおらかに対応してよ、って。
僕がプログラミングを始めたのは社会人になってからですが、始めてみて、もともと自分はプログラミング思考だったのだと気づきました。普段から、牛丼屋のみそ汁の温度を1度下げるだけで客の回転率が数倍あがるのにな、とか、エレベーターがすぐ来ないのはなぜか、とか考えていましたから。
あらゆるものは、裏にプログラムがあって、プログラミングとはつまり、順番を整えて楽をすること。その意味で「ラーメン屋」は、実によくできたプログラムです。
麺がゆであがるときには、この丼はみそラーメン、などと属性が決まっていて、具も置いてある。なかには麺カタとか、スープ濃いめとかいう客もいて複雑なプログラムなのに、あのせまい厨房でこなしている。もし五つ以上同時に注文が入ったときはこの工程、とやり方が決まっているはずなんですよね。
プログラミングでは「スイッチ構文」と言いますが。すごい優秀なプログラムだな、って僕はずーっと厨房の中を眺めちゃいます。
●身の回りのループ構文
小学校でプログラミング教育を必修にするなら、プログラムをプログラムとしてじゃなく、他の教科で教えたらいいと思う。「ループ構文とはこういうもの」じゃなくて、「身の回りにあるループ構文はなんだろう」って話から入ればいいんです。国語や歴史にもきっとある。
牛丼屋なんかだと、こっちはもう牛丼を食べ始めてるのに「いかがですかー」って言い続ける店員がいるでしょ。注文が済んだらそのループからはブレークしてほしい(笑)。これだってプログラミング思考ですよ。(編集部・高橋有紀)
※AERA 2016年10月31日号