結城浩
2001年11月4日
[DP/2] 10個目のお話を書いている。 ああ、もう、この章のサンプルプログラムは何回書き直したことでしょう。 プログラムを書く。動かす。プログラムをじっと眺める。解説文を書く。 解説とそぐわなかったり、主張したい要点とずれていたりする。破棄。 もう一度プログラムを書く。動かす。プログラムをじっと眺める。 解説文を書く。書いているうちに、またおかしな部分が見つかる。破棄。 もう一度プログラムを書く。動かす。プログラムをじっと眺める。 解説文を書く。けっこううまく書ける。 図を描いてみる。描いているうちに、おかしな部分が見つかる。 ガーン。破棄。
もうちょっと目端が利かないものかと、自分でがっかりする。 さっき記録を調べてみたところ、 10章書いてくる間に本半分くらいの量のテキストを破棄していますもの。 (というのは具体的には300KBくらいのテキストということです。 『Java言語で学ぶデザインパターン入門』のテキストは約600KB)
なんて私は不器用なのだろう。 でも、そうやって何度も何度も書き直しているうちに得られるものもある。 書きたい内容が心にしっくりと理解できるようになってくるし、 同じようなトラブルをきっと読者もするであろうと想像がつくようになるし、 ええと、それに…タイピングも速くなるし…(^_^;
実際、タイピングの速度は重要です。 タッチタイプができる人は共感していただけると思うが、 文章をタイプしているときっていうのは、 キーを打っているという意識はあまりなくなる。 キーを打っているというよりも、文章を書いているという意識になる。 自分が口で話すのに近い。心の中でお話をする。 それを手に伝える。すると手がキーボードの上で踊ってくれて、 その文章をタイプしていく。「自分」は画面に登場する文章を読んでいる。 心の中でお話をした文章が画面に登場するのを読んでいる、 という感覚でタイプしている(ですから、 あなたがもし、キーボードを見ながらキーを打っているなら、 ぜひタッチタイプを学んでください。ぜんぜん世界が変わりますから。 強く強くお勧めします)。
Javaのマルチスレッドの本を書いていて、山ほどサンプルプログラムを書いているうちに、 「InterruptedException」とか「synchronized」という長い単語も一気に(しかも高速に)タイプできるようになってしまった。 それどころか「new Thread() { public void run() { ... } }.start();」とか、 「new Thread(new Runnable() { public void run() { ... } }).start();」だって大丈夫。
やれやれ。
何の話だっけ。まあいいや。
休憩終わり。仕事に戻ります。