この記事は、『UNIX Magazine』2003年11月号(2003年10月18日発売)に掲載された同名記事の初稿(著者から編集部に提出したもの)を元に、Web掲載用に一部を修正したものです。10年以上前に執筆したものなので、現在のUNIXを取り巻く環境とは色々と異なることがありますが、プログラミングに対する心構えとしては現在でも通用するものと思い、再掲してみることにしました。 ・・・・・・・・・・ プログラムに入り込むバグは、大きく2種類に分けることができる。 一つは、プログラムの処理方法や手順が、意味的に目的を満足するものではなかったというもので、プログラムの目的や実装するアルゴリズムに対する理解が足りなかったり、事前検討が不十分であった場合に起きる。便宜上、このタイプのバグを アルゴリズムバグ と呼ぶことにしよう。 もう一つは、プログラムの意味は正しいものの、なぜか想定外の動作をし