バグとは?コンピュータの不具合を「バグ」と呼ぶ理由
今回は、プログラムの不具合を表す「バグ」という言葉の意味と由来を整理します。
ITを学び始めた人にとって、「バグ」はよく聞く言葉です。言葉の背景を知ると、プログラムの不具合、デバッグ、テストの考え方も理解しやすくなります。
バグの意味
ゲームやアプリを使っていると、「バグっている」「バグった」という表現を聞くことがあります。
語らずとも理解している方が多いと思いますが、念のために解説をすると、バグとは、プログラム内に潜んでいる予期せぬ設定やコードによって引き起こされた不具合のことを呼びます。
その他、エラーや障害、例外などと様々な呼び方がありますが、今回はプログラムが原因によって引き起こされた不具合を「バグ」と呼ぶことにします。
不具合を発見して報告する担当と、原因を調べてコードを修正する担当は、分かれている場合もあれば、同じ人が担う場合もあります。担当範囲は現場によって異なるため、業界名や「デバッガー」という呼び名だけで、修正まで担当するかは判断できません。
入門段階では細かい職種の違いまで覚える必要はありませんが、デバッグという言葉が「不具合を見つけ、原因を調べ、直す作業」と関係していることは押さえておくと理解しやすくなります。
バグの由来
英語の「bug」には「虫」という意味があります。ただし、機械の不具合を「バグ」と呼ぶ習慣は、コンピュータに実際の虫が見つかった出来事より前からありました。1870年代には、発明家のトーマス・エジソンも電気回路の不具合についてこの言葉を使っていました。
コンピュータの歴史でよく紹介されるのが、1947年の「Harvard Mark II」での出来事です。ハーバード大学でこの計算機を調べていた技術者たちは、リレーの接点の間に蛾が挟まっているのを見つけました。
リレーは、電気で接点を動かして回路のオン・オフを切り替える部品です。この出来事で虫が挟まったのは、テープを巻き取るモーターではありません。
見つかった蛾は作業日誌に貼り付けられ、「実際のバグが見つかった最初の事例」という意味の言葉が添えられました。この日誌は現在、スミソニアン国立アメリカ歴史博物館に保存されています。
ここで区別したいのは、「バグという言葉の始まり」と「本物の虫が見つかった有名な記録」は別ということです。すでに不具合を指して使われていた「バグ」という言葉に、実際の虫を重ねた記録として読むと理解しやすくなります。
バグの由来まとめ
- 英語の「bug」には「虫」という意味がある
- 機械の不具合を「バグ」と呼ぶ表現は、1947年より前から使われていた
- 1947年、Harvard Mark IIのリレーに挟まった蛾が見つかり、作業日誌に残された
- この記録を、バグという言葉そのものの起源と混同しない
現在、プログラムのバグを直すときに調べるのは、虫ではなく、期待した動作と実際の動作が食い違う原因です。由来の話と現在の意味を分けて押さえておきましょう。