2026.09.23 泊まれる場所4,223 立ち寄りスポット59,693 営業中を確認したキャンプ場1,005 note を読む

バグの語源|蛾の逸話より70年早く、その名前はもうあった

「本物の蛾が挟まった伝説」は本当にあった。
でも語源はそれより70年近く前からあった。

プログラムの不具合を「バグ」と呼ぶ。
英語で虫という意味だ。
由来を調べると「昔のコンピュータに本物の蛾が入り込んで、報告書に貼り付けられた話」がほぼ必ず出てくる。
僕もそう思っていたけど、時系列を追うと少し違った。

そもそも、なぜ「虫」にたとえるのか

語源をさかのぼると、「バグ」という単語自体は、もともと虫を指す言葉ではなかったらしい。
中英語の「bugge」は「人を怖がらせるもの」「案山子(かかし)」のような意味で使われていた。
16世紀の終わり頃になって、南京虫(トコジラミ)のように人に不快感や被害をもたらす小さな生き物を指す言葉としても使われるようになったとされる。
「得体が知れず、気づかないうちに入り込んで害をなすもの」という語感が、そのまま機械の不具合にも重ねられていった、というのが今のところの通説のようだ。

1878年、エジソンの手紙にすでに「バグ」があった

発明家トーマス・エジソンは1878年11月13日付の手紙に、こう書き残している。
「"Bugs"――こうした小さな欠陥や不具合はそう呼ばれている――が姿を現し、何か月もの根気強い観察と検証、労力を要求してくる」
同じ頃の別の手紙にも、電話機の開発について「自分の装置の中に"バグ"を見つけたが、電話機本体の問題ではなかった」という趣旨の記述が残っている。
コンピュータどころか、電話機の設計段階の話だ。
つまり「不具合=バグ」という言い方は、コンピュータが生まれる70年近く前から、すでに技術者のあいだで使われていた。

1947年9月9日、ハーバードで見つかった本物の蛾

それでも語源として語り継がれるのは、1947年9月9日にハーバード大学のMark IIという計算機で実際に起きた出来事だ。
リレー(継電器)の中に本物の蛾が挟まって故障を起こし、オペレーターがそれを取り出してログブックに貼り付けた。
書き添えられたメモは「First actual case of bug being found.(バグが見つかった初の実例)」。
このログブックと蛾は、いまもスミソニアン国立アメリカ歴史博物館に保管されている。
発見者は数学者グレース・ホッパーその人だと語られることが多いが、当時Mark IIチームにいたのは確かでも、そのログを書いたのが本人かどうかまでは分かっていない。
「バグ」という言葉をホッパーが発明した、というのは広まった俗説というわけだ。

なぜ「蛾の逸話」のほうだけが広まったのか

言葉自体はエジソンの時代からあったのに、語源として語られるのはいつも1947年のハーバードの話のほうだ。
理由は単純で、こちらには「証拠の現物」があるからだと思う。
1878年の話は手紙の文面だけが根拠で、実物は残っていない。
1947年の話は、テープで貼り付けられた本物の蛾と、そのログブックが今も博物館に現存している。
文字で読む逸話より、実際に見に行ける現物のほうが、圧倒的に語り継がれやすい。

これは自分のバグの話にも当てはまる気がする。
僕がこのサイトでやらかしたバグは、直った瞬間にコードが元に戻ってしまい、証拠がどこにも残らない。
ハーバードの逸話が70年以上語り継がれているのは、話がおもしろいからというより、証拠を保存しておいたからなんだと思う。

バグの生まれ方

いまのバグは虫のせいではなく、ほぼ100%が人間の書き間違いか考え漏れだ。
「まさか名前を空欄のまま送信する人はいないだろう」みたいな思い込みの隙間に、バグは棲み着く。
コンピュータは書いてある通りにしか動かないので、悪いのはいつも書いた側になる。

絶滅しない理由

プログラムが少し大きくなると、起こりうる状況の組み合わせは天文学的な数になる。
全部を事前に想像するのは、正直なところ無理だ。
だからプロの世界でも、バグを出さないことと同じくらい、早く見つけて早く直せる体制を大事にする。

僕もこのサイトで何度もやらかしている。
JavaScriptのNaNが自分自身と一致しなかった話も、配列をコピーしたつもりが元のデータも変わっていた話も、直った瞬間まで気づけなかった。
変な挙動を見つけたら、こっそり教えてもらえるとうれしい。

まる子パパ

まる子パパ

会社員。受託開発のエンジニアを15年以上続けていて、その前は寿司職人・長距離運転手・農業。 技術ブログは、キャンプの合間に踏んだバグと、AI・Web開発の運用の失敗を書いています。 このサイト自体が、開発に携わっているCMS「コンテナ」の稼働中の実例です。 このサイトについて / 小さな自動化の相談

—

ほかにも書いています

受託・note・スタンプ

※受託の相談とnoteは、運営者が個人で受けている・書いているものです。

技術ブログ一覧へ戻る