見出し画像

人生の課題に応用したいプログラミング的思考

いったん片付けた問題は関数にしてしまっておくんだ、
バグが見つかるまでは。

プログラミングの授業を受けていたら、先生がそう言った。
この一言で、プログラミングを学んでいることを本当に嬉しく思った。学ぶことはよりよく生きることを助けると信じているので、私はいつまで経っても学ぶことをやめないのだが、おそらくプログラミングの論理的な思考がとても性に合っているのだろう、プログラミングを学んでいるようでどこか生き方を考える契機になっている気がする。

もちろん厳しいなと思うことも多い。
特に私の通っているプログラミングコースの課題は自由度が少なく、本来であれば課題解決のための道筋はさまざまであるはずなのに、先生の求めるものを再現していくような設計になっており、そこに自由な発想は求められない。
そのため、提出するためには数日かけたコーディングが完成してから、1、2時間はフォーマットを整える時間が必要だったりする。

でもその苦労以上にプログラミング的思考を学ぶ時間がとても面白い。
どうしたらややこしい問題を細分化できるのか。細分化した問題はどうしたら最短距離で誰にでもわかりやすく解決できるのか。
これらの問いは、人生の難しい問い、あるいは日常的な問いにも応用できると思うのだ。
例えば、政治的な問題を細分化し、細分化された問題を一つ一つ検証し、より大きな問いへの答えを模索できるだろう。人生で壁にぶつかった時にも、問題を細分化し検証するというのは応用できそうだ。

冒頭の先生の言葉は、その意味でとても興味深い。
いったん自分で整理をつけた問いは箱にそっとしまい、その答えを反射的に導き出せるようにしておく、新たな問題が見つかるまでは。私にはそう聞こえたのだ。

人生には難しいことがたくさんある。どう対処して良いかわからなくなることも度々ある。そうやって壁にぶつかった時には、問題を細分化し、答えを導き出し、とりあえずの結論を出す。その結論に従って日々を生きる。その解決法では説明のつかない新たな問題が出てくるまでは。

そう思うと、このややこしい世界がほんの少しだけ生きやすくなる気がした。

この記事が気に入ったらサポートをしてみませんか?