software:cause_of_bug
バグが起きる原因
ソフトやアプリのプログラムが、不具合で正常な動作をしないことをバグといいます。その原因のほとんどは、人間のミスです。
簡単な例を実際のプログラムで説明します。
1つ目は、ウェブアプリでよく使われるperlというプログラミング言語を使って、iiという変数(一時的にメモリにデータを保存するもの)を用意し、それに1をたして画面表示する(print)というプログラムを書いたものです。
最初がゼロなので、1をたすと1になります。perlでは、変数は初期化されています。ただし、タイピングミスでiiではなく、iiiとタイプミスをしたら当然正しい計算結果は得られません。
2つ目は、ソフトを作るときに使われるC言語というプログラミング言語です。同じように変数を用意し、1をたしています。C言語の場合、変数は初期化されないので、プログラマーがきちんと0を代入するとかの処理をしないといけないのですが、忘れてしまうと予想外の結果となります。繰り返し処理でこのミスをすると、プログラムは暴走するかもしれません。
最近のソフトやアプリのプログラムは、高度に複雑化していますが、バグを探すと、案外たった1文字の打ち間違いが原因だったりします。NASAの金星探査機マリナー1号が打ち上げに失敗し、大西洋に沈んだのも、プログラムのたった1文字の伝達ミスが原因ということです。
software/cause_of_bug.txt · 最終更新: 2022/10/09 (外部編集)