2009/05/08

・もじ80字ほど。ひらがなにとうとうてをつけた。移動中に電車の中で記入などしていたら、いつの間にか残りも400。たくさんあると思ったけど、何かさびしい気持ち。とは言え、仲間Yが早くぜんぶくれというので、あと10日ぐらいですべて終わらせましょう。どにちで200字は記入するつもりです。

・プログラムの速度についてとても大きな勘違いをしていた。変数を宣言することは、機械からしてみれば重労働なのだろう。変数を家と見立てれば、変数の宣言は家を建てることに他ならない。私は家を建てる労働が発生するのは、自分で家を建てた(※1)ときだけだと思っていたが、人に家を建ててもらう場合だって同じように(自分ではない誰かが)、家を建てるのだ。よほどのプロではない限り、自分で建てる方が時間がかかりそうだが、それでも家を建てるコストが発生するのに変わりない。私が犯し続けたミスは、百軒の家を撮影しようとして、ループの中で延々と変数を宣言していたことだ。ループの数だけ家を建てていた。そう思えば、かなりの労働だと容易に想像がつく。ループの外で変数を宣言すれば、ひとつの家で済む。もちろん、家の内装自体は毎回変化しうるが、少なくても土地探しは気にする必要はない。整地などのコストはあるだろうが。ちなみにループの中で変数を宣言するのは必ずしも悪いことではない。なぜなら、その様子を外側から見られないで済む。だが、この場合は、こっそりと家を見られないように撮影しようとしたばかりに…とてつもない労働が発生したというわけだ。ひとつの条件にこだわりすぎるとこのような失敗が起こる。

※1 C++だとnewにあたる