「忙しい」では大きすぎ
時代はアジ! さて、先日、プログラムを作ることに成功したという記事を書きました。
これ以後も微細な改良や、新しいプログラムを作ったりしているのですが、うまくいかないことのほうが多いのです。プログラムが動かない、それは多くはプログラム言語の文法的な誤りに起因するものですが、これは直しさえすれば済みます。問題は「プログラム自体は動くのに、望んだ動作をしてくれない」ときです。そもそもプログラムのロジックがおかしいのか、できもしないことをやろうとしているのか、そこがわからないからです。そして僕は途方に暮れるのです。
今朝もいそいそとプログラムを組んでいました。でました!「プログラム自体は動くのに、望んだ動作をしてくれない」が。しかしここで途方に暮れるのではなく思いついたことがありました。というかプログラマーさんには常識なのかもしれませんが、「このプログラムは、どこまでが正しく動いていて、どこからが自分の望んだものになっていないのか」を検証してみればよいのでは、と思い至りました。
プロセスA→B→C→Dの矢印のところに、そこまでの動作結果を吐き出す仕組みを組み込みました。具体的には
みたいに。プログラムの最終版には不要な仕組みですが、これで何がまずいのかがはっきりしました。現在作成中のものは50%は完成しているといっていいでしょう。
働く人も学生さんも、ついつい口に出してしまう「忙しい」という言葉があります。これ、プログラムの全体みたいなものだと思うんです。「何と何と何と何が忙しい?」「それぞれがどう忙しい?」「忙しいけど優先的にやらないといけないのはどれ?」「人に任せるか後回しにしてもいいものない?」と分割すれば、意外とそんなに忙しくなかった、ということはあるように思うのです。
中学校の国語の教科書に採用されている、井上ひさし「握手」の登場人物ルロイ修道士に「困難は分割せよ」という言葉があります。元々はフランスの万能の学者ルネ・デカルトの言葉だそうです。言葉自体は知っていましたが、その意味が実感できた今朝のプログラミングでした。
……デカルトについては、専門的な内容ではなく書きたいことがいくつかあるのです。またいつか。明日は有馬記念の予想になると思います。