我々は日々、移動機やサーバのソフトウェアのバグに苦しめられています、今回から数回はこのバグについてのお話したいと思います。(あくまで、ネタが続けば…ですが。)
「バグ」の語源には諸説ありますが、ソフトウェアの正しい動作を妨げる小さな間違いを「虫(=バグ)」と表現したのが始まりだといわれています。
万能でない人間が作る以上、ソフトウェアには必ずバグが混入します(これは真理です)。
このため、バグを取る「デバッグ」という作業が必要になります。
では、デバッグは必ず行わなくてはならないにしても、どうすればバグのないソフトウェアが作れるのでしょうか?
「デバッグできないソフトウェアは作らない」
いささか逆説的ですが、これが自分の経験から導いた、自分なりの答えです。
一年に一度しか表示されないメッセージや、めったにない条件が重なって発生するアクション、特殊な環境がないと試験できない機能など、デバッグし辛い部分(もしくは完全にデバッグできない部分)にバグは存在します。(完全に「虫取り」をしていないので、ある意味当前なのですが…)
どんなに綿密に設計されて開発されたソフトウェアでも、人間が作るソフトウェアには必ずバグが混入します。
だから、デバッグは絶対に必要です。
万能でない人間が作るものには間違いがある、悲しいですが、これは真理なのです…