獅子はチキンレースで誤って崖に落ちて這い上がる

 プログラマの麻疹 - 宇宙行きたいで挙げられている「プログラマの麻疹」というやつ。

 あるプログラミングパラダイムとかテクニックとかを身につけた時、使いたくてしょうがなくなるのが人情というもの。そして身につけたばかりのテクニックを可能性がある限り適用を試みて、凝りすぎた設計にしてみたり、目的と手段が逆転して解決のためのテクニックではなく、テクニックを使うためにテクニックを使うという状態になって、まぁつまるところ失敗するわけ。

 そしてこの失敗が大事で、何を知るかといえば、そのテクニックやパラダイムの限界を知る。例えばオブジェクト指向を覚えたての時は、世の中の森羅万象をオブジェクト指向で表現できるような気になるのだけど、熱に任せて設計しまくった挙句、やがてオブジェクト指向ではどうにもしっくりこない現象に行き当たって、あぁ、オブジェクト指向も単なるテクニックのひとつにすぎないのだなとさめる。代わりにアスペクト指向とかジェネリクス指向とか、別のパラダイムに感染するものなのだけど、そうした熱病と回復を繰り返しながら、いろんなパラダイムを身に付けていくものなのだと思う。

 過ぎたるは及ばざるが如しと言うけれど、その線を見極めるために、一度やりすぎてみる必要がある。チキンレースをして崖に落ちてみると自分がいかに危ないことをしているのか分かる。失敗を知るだけなら先達の知恵を学べば痛い目にみないで済むのだけど、どのぐらい痛いかがわからない。まぁ、いちいち痛い思いをしてられるほど世の中は甘くない*1ので、如何に迷惑をかけないで痛さを実感しておくかが課題と言えば課題。

*1:億単位の開発をうっかり失敗しましたというわけにもいかない