ちょっと古い話

一昨日の話なんですが、TAの最終日だったんです。プロジェクトっていう演習のTA。最終日なんで学生が半期に渡って取り組んだ事の発表会だったので、別にただ座って聞いてれば良かったんですけど、それも給料泥棒っぽくてヤな感じだし、何より暇なので質問係として学生の皆さんを苦しめてきました。
で、彼らの発表を聞きながら思ったのは、プログラムが思い通りに動かないことをあまりに簡単に「バグ」の一言で片付けていないか、ということ。つまり、

「***の部分はときどきバグでおかしな動作をするんですけど、それは***が***であるためと考えられます。」

みたいな発言が結構あったんです。おかしな動作をすることが分かっていて、どういう状況で起こるかもある程度つかめていて、しかも原因も絞れているなら、なんで検証、訂正しないの?と思ってしまったのです。それはもう「バグ」じゃなくて「ミス」かあるいは「怠慢」でしょ、と。「バグ」という言葉の成り立ちを考えると、私はプログラム上の問題をあまり「バグ」と言いたくない人間で、どーしても彼らの言い様には違和感を感じずに入られないのですよ。もちろん、学生でも職業人でも無制限にプログラミングに時間を費やせるわけでもないので、ある程度は許容しないといけないところもあるとは思うんですけど、コードやプログラムを検証、テストする努力をあっさり「バグ」で片付けるのは責任逃避っぽく感じてしまって。
そんなことをつらつら思った3時間でした。