2005年10月14日

読解いやな法則: 横着をするための労力を惜しんではいけない

読解いやな法則の第3回です。今回は、プログラマに当てはまりやすい法則である「横着をするための労力を惜しんではいけない」を取り上げたいと思います。

 

以前に、横着プログラミングという連載記事の第1回で次のような言葉を紹介しました。怠惰は発明の母であるという主張です。

私は必要が発明の母だとは思わない。私の意見では、発明とは怠惰から、おそらくはまた、まさに無精から生じるものである。面倒を省くために。 -- アガサ・クリスティ

一方、 Perl の作者である Larry Wall は「プログラマの三大美徳は怠惰・短気・傲慢である」と述べています。怠けるためにプログラムやドキュメントを書くのはプログラマにとって最大の美徳である、とのことです。

このような先人の知恵を元に「横着をするための労力を惜しんではいけない」という法則は生まれましたが、これはただの前振りで、本当のいやな法則は「横着をするための労力を惜しんではいけない、という口実で現実逃避してしまう」というものです。

怠惰なプログラマは、面倒な作業を目の当たりにすると「横着をするための労力を惜しんではいけない」の思考回路が作動して、作業の手間を省くべくプログラムを書き始めます。これは一見、純粋な動機のように思えます。

ところが、その背後には現実逃避の欲求が潜んでいることが多いようです。内心では手作業で片付けた方が早いとわかっていても、「横着するための労力を惜しんではいけない」と口実をつけて、これ幸いとプログラミングにいそしんでいるというわけです。

さらに悪いことに、元々やろうとしていた作業はどうでもよくなって、プログラムを書いてあれこれ試行錯誤することの方が目的になるという「手段の目的化」現象も逃避活動に拍車をかけます。この場合、作業は何も進んでいない上に、気づくと時間ばかりが経過していた、という結果に終わるのが典型的なパターンです。

このように、怠惰は発明の母という発想は怠惰なプログラマに現実逃避の格好の口実を与えます。「横着をするための労力を惜しんではいけない、という口実で現実逃避してしまう」という法則は、この現実逃避への傾向を戒めるために生まれた法則です。

ところで、怠惰なプログラマは、現実逃避で大切な時間を無駄にしても「技術は身についた」「手段の目的化からいいものは生まれる」「ブログに書くネタになりそう」などと新たな口実をつけて、それほど反省しないようです。これはプログラマの第3の美徳である「傲慢」というものかもしれません。