考え方

「プログラミング的思考」とは何かを考えてみる

 2020年度から小学校でプログラミングが必修化されたこともあり「プログラミング的思考」という言葉を巷で見る機会が増えました。とはいえどの文献や記事を読んでみても「プログラミング的思考とは一体何なのか」を簡潔に説明したものはありませんし、またその「プログラミング的思考」が日常生活においてどう役立つのかも具体的に示すものもあまりにも少ないのが現状です。

 僕自身文系大学出身からエンジニアになって3年が経過するのですが、3年エンジニアとして仕事をしてみて思うのは「プログラミング的思考は日常生活において非常に役に立つ」ということです。
 ※1.プログラマー:プログラムを書くことを専門とする人
 ※2.エンジニア:プログラムを書く仕事を含め、モノづくりに従事する人たちの総称

 まず僕は「プログラミング的思考」について次のように考えています。

  • その処理は本当に必要かを考える
  • 本当に必要ならより簡潔に処理を行えないかを考える

 プログラムはコード行が長くなれば長くなるほど処理にも時間がかかるため、なるべく簡潔に記載する必要があります。また何度も修正を加えていると「本当は必要ないのに以前からのコードを踏襲して、不必要な処理を行っていた」ということも多々あります。そのため「この処理は本当に必要なのか」と常に考える必要があるのです。

 例えばこれを日常生活に置き換えてみると、自炊をしていてご飯を炊くのに時間も手間もかかると感じているなら、8合ぐらい炊ける大きめの炊飯器を買って一気にお米を炊いてしまって小分けで冷凍保存をする。洗濯をするにもいちいちベランダまで干しに行くのではなく、乾燥機能付きのものを買ってその場で乾燥させて完結させてしまう。毎週末掃除機をかけるのではなく、床に不要なものは置かないようにしてルンバを導入し、人の手で掃除をしなくてもよくなるようにする。など。

 プログラミング的思考が身につくと余計な処理を削ぎ落とすことができ、その分浮いた時間でより本当に必要なものに時間を割けるのです。

 とはいえ、いくらプログラミング的思考が日常で役に立つのだとしても、社会人になってからC言語やJavaといったいわゆるプログラミング言語に実際に取り組む必要はないと思っています。というのもプログラムを覚えたところで本業がエンジニアやプログラマーでない限りは覚えたスキルに対してリターンはものすごく少ないですし、何よりもこのプログラミング的思考は別にプログラミングをやらなくても身につくからです。

 それこそ事務仕事だって何となく慣れでやっているいつもの作業を一度真剣に見直すだけでも無駄な処理が浮かび上がって効率改善につながるし、例えばブログだって読者の方に同じ内容を伝えるのであればより少ない文字数のほうが良いわけで、そうやって目の前の仕事に対して真剣に向き合えばプログラミングに触れなくてもその思考法は十分に身につくのです。

 実際、エンジニアをやっていて役に立ったと思うのはプログラミング的思考が身についたことよりも「ネットで情報を調べて、それを自分の手で試行錯誤することに抵抗がなくなった」ことの方です。

 我々エンジニアは常日頃からネット検索を駆使しどのようにプログラミングを行えばよいか試行錯誤するわけですが、これが慣れないうちは本当に脳に負荷がかかって、少しでも分からない部分が出ると思わず投げ出したくなってしまうものです。

 今の時代有益な情報はネットに山程落ちているので、それを実際に自分の手で試すことができるかどうかが重要になるはずです。例えば動作が重いと感じているPCも数千円で部品を一つ変えるだけで劇的に軽くなったり、倒産の危機に貧している経営者も数枚の申請書を出すだけで国から助成金が貰えたりと、「実際に動き出すのには少し腰が重いが、いざやってしまえば得をする」場面はいたるところに存在します。ただその「実際に動き出す」というところがものすごいネックなんですよね。

 こういった「腰が重い」というのも実際に行動してみて成功体験を積んでみれば徐々に行動できるようになるので、なるべく人生の早いうちに行動力をつけることを意識しましょう。

-考え方

© 2022 名古屋とエンジニアリング