これからを生き抜くために必須の能力。それが「プログラミング思考」。論理的思考、問題解決能力などと言い換えてもいい。カリスマプログラマーは、「仕事や日常生活にも役立つ」と言うけど本当? プログラマーで翻訳者の鳥井雪さんに、具体的に質問してみました。
【Q】家事の分担を巡って、夫といつもケンカになります
【A】構成要素を切り出してトラックナンバーを2に
私が翻訳した絵本『ルビィのぼうけん』は、女の子が宝石集めの冒険を通じてプログラミングの考え方を学んでいく物語。その中に、父親に「洋服を着なさい」と言われたルビィが、いたずら心でパジャマの上にワンピースを着てしまう場面があります。なぜでしょう。
「パジャマを脱ぐ」という指示がなかったからです。
コンピューターに「暗黙の了解」は通用しません。してほしいことをしてほしい順番にコンピューターに指示するのが「プログラミング」の基本の一つです。明確な指示を順序よく重ねていけば、コンピューターは速く、間違いなく、言われた通りに動いてくれます。
●「見えない作業」が原因
こういった「プログラミングから得られる考え方」は、実生活の問題解決にも生かすことができます。「家事の分担を巡って、夫といつもケンカになる」というトラブルも、解決のヒントはありますよ。
まず必要なのは、家事の「構成要素」を切り出すことです。何か解決したい問題があったとき、それを構成要素に分解する作業は、実際のプログラミングでも重要なステップです。「明確な指示を順序よく」出すためには、やるべきことの全体像が見えていなければなりません。コンピューターはあいまいな指示では正しく動きませんから。
指示が「ごみ箱のごみを捨てて」だった場合、人間ならその意図をくみ取って、家じゅうのごみを集めてから捨てに行ってくれるかもしれませんが、コンピューターはそれをしません。言われたとおり、ごみ箱のごみを捨てるだけです。