こんにちは。たつやです。
料理をしていて、たまに失敗することがあります。
『塩と砂糖を間違えた!』とかではなく、『作業スペースがない!』という感じです。
たとえば、
・材料を置きすぎて、まな板を置く場所がない
・洗い物を置きすぎて、シンクが使えない
・小鍋を火にかけたいけど、コンロが足りない
をたまにやります。
端的に言えば、だんどりが悪かったということになりますが、このことについて少し考えてみます。
上に挙げた『困りごと』は、
レシピをそのまま追っているだけでも起こる可能性があります。
つまり、料理中にはレシピに書かれていないこともやる必要があるということです。
それには、たとえば、
・材料を散らかさないように、1品ずつ作る
・煮込んでいる間に、洗い物をする
・冷めてもいい料理は、器によそっておく
などの『作業スペース』の片付けが考えられます。
このような片付けを、料理の合間にだんどりしないといけません。
さて、いつものごとく、プログラミングと対比してみます。
『作業スペース』のことをプログラムでは、メモリといいます。
プログラムの実行中に、メモリが足りなくなると、文字通り、作業ができなくなってしまいます。
そのため、使わなくなったメモリ領域を、別の作業で使えるように解放する(=片付ける)必要があります。
ただ、ほとんどのプログラミング言語の場合、このようなメモリ領域の解放は、自動でやってくれます(ガベージコレクション)。
つまり、プログラム実行中には、プログラムに書かれていないこともだんどりしてやっているんですね。
作業ができなくなるという『困りごと』については、料理でもプログラムでも構造が似ていますね。
個人的には、書いていないことのだんどりをちゃんと意識しないといけないという戒めにもなりました。
ほかの対比ネタについても、また記事にしようと思います。それでは。