プログラマの三大美徳

この記事は、怠惰 Advent Calendar 2013 23日目の記事です。

プログラマには必須の三大美徳というものがあると言われているようです。小飼弾氏の「404 Title Not Found」によると*1 、その3つとは「怠慢」「短期」「傲慢」で、特に「怠慢」はこの記事で参加しているAdvent Calendarのテーマである「怠惰」と似ていますので、定義を引用してみます。 

怠慢

全体の労力を減らすために手間を惜しまない気質。この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、同じ質問に何度も答えなくてもいいように文書を書いたりする。よって、プログラマーの第一の美徳である。

 「怠慢」と「怠惰」がどう違うのかわかりませんが、Advent Calendarを作る際に、ここで書かれている怠慢とほぼ同じ意図で怠惰という言葉を使いました。怠慢の方が適切だったのかもしれません。

せっかくなので、残り2つも引用させていただきます。

短気

コンピューターが怠慢な時に感じる怒り。この怒りの持ち主は、今ある問題に対応するプログラムにとどまらず、今後起こりうる問題を想定したプログラムを書く。少なくともそうしようとする。よって、プログラマーの第二の美徳である。

傲慢

神罰が下るほどの過剰な自尊心。または人様に対して恥ずかしくないプログラムを書き、また保守しようとする気質。よって、プログラマーの第三の美徳である。

3つの美徳が、 自分自信に当てはまるかどうかを考えてみます。「怠慢」は、全体の労力を減らすために手間は惜しまずというのは当てはまると思うので○。「短期」は、今後起こりうる問題を想定したプログラムを書くというのは、程度の問題はあれ一応意識しているつもりなので○。「傲慢」は、人様に対して恥ずかしくないプログラムを書き保守しようとしているつもりですが、結果として実行できているかは自信はありません。また、業務以外のプライベートで書くプログラムはあまり人に見せたくないなぁという感じなので、「傲慢」は△もしくは×でしょうか。

プログラマとしての力を付けていくには「傲慢」さを意識するのが近道なのかもしれません。あなたはどうでしたか?

*1:原文は「ラクダ本」の愛称で親しまれている"Programming Perl"からだそうです