バグとは?コンピュータの不具合を「バグ」と呼ぶ理由

最終更新日

今回は、プログラムの不具合を表す「バグ」という言葉の意味と由来を整理します。

ITを学び始めた人にとって、「バグ」はよく聞く言葉です。言葉の背景を知ると、プログラムの不具合、デバッグ、テストの考え方も理解しやすくなります。

バグの意味

ゲームやアプリを使っていると、「バグっている」「バグった」という表現を聞くことがあります。

語らずとも理解している方が多いと思いますが、念のために解説をすると、バグとは、プログラム内に潜んでいる予期せぬ設定やコードによって引き起こされた不具合のことを呼びます。

その他、エラーや障害、例外などと様々な呼び方がありますが、今回はプログラムが原因によって引き起こされた不具合を「バグ」と呼ぶことにします。

また、余談ではありますが、これもゲーム業界での枠割にある「デバッガー」ですが、彼らの役割の多くは「不具合を見つけ出すことを職務」としていますが、IT業界においては「不具合を見つけ出し、改修することを職務」とし、役割の定義が少々違っています。

入門段階では細かい職種の違いまで覚える必要はありませんが、デバッグという言葉が「不具合を見つけ、原因を調べ、直す作業」と関係していることは押さえておくと理解しやすくなります。

バグの由来

さて、ゲーム業界とIT業界で少々役割の異なる「デバッガー」ですが、彼らが対処する「バグ」という名前の由来は共通しています。

「バグ」という名称の意味はもちろん「虫」を示していますよね。そう、コンピュータの世界における「バグ」は「虫」から由来しているのです。

そもそもとして「バグ」はITの世界を更にさかのぼった1840年代前後にまで至ります。当時のコンピュータは現代のように1人に1台(もしくはそれ以上)の勢いでパソコンやスマートフォンが普及しているわけではなく、タイプライターやファクシミリが発明サれた時代です。

その頃にコンピュータが無かったわけではないのですが、今では創造もできないくらい巨大な、それこそ昔のSF映画に出てくるような部屋一面を覆い尽くす機械を使って計算処理を行っていたのです。

更に計算処理は、現代でいうところのソフトウェアやAIが導入されているのではなく、決められた手順に従ってコンピュータが計算をするだけの仕組みでした。

当時のコンピュータのイメージは巨大な初期のコンピュータを紹介した資料などを参考にしていただくのが良いかもしれません。また、当時は手順の指示を出すために用いられていたのが紙などで作成したテープでした。テープには点字のような凹凸があり、それを読み取ることで計算処理を行っていたのです。

現代のPCやスマートフォンとはかなり違う仕組みですが、ここで話を続けます。テープなどを読み取るためにはモーターでくるくると巻き取るような仕組みが必要だったりします。実は世界初と言われているバグは、そのモーター(リード)に虫(蛾)が挟まったことから実際に引き起こされたという事例があります。

1947年、ハーバード大学で稼動していた「Harvard Mark Ⅱ」のリードに虫が挟まったとして、実際の虫がテープで貼り付けられた手記が残されています。詳細にはどの部分に挟まったのか不明瞭な部分はあるものの、この事例がIT、つまりコンピュータの世界におけるバグの始まりと言われているのです。

バグの由来まとめ

実際のところ、詳しい由来には諸説ありますが、入門として紹介するバグの話は以下のような内容で十分です。

  1. コンピュータの世界におけるバグの由来は「虫」からきている
  2. 昔は教室を埋め尽くすコンピュータのを使って計算をしていた
  3. コンピュータというよりも工場の機械というイメージ
  4. 当時のコンピュータにはモーターで稼動する部分があり、そこに虫が入り込んだ
  5. 入り込んだ結果としてバグが引き起こされた

この話には、プログラミング言語「COBOL」の開発にも関わったグレース・ホッパー氏が登場します。歴史的な背景まで追うとかなり深い話になりますが、入門としては「実際の虫が機械の不具合に関係した記録があり、そこからバグという言葉が広く知られるようになった」と理解しておけば十分です。

シェアする