この記事でわかること
- 1947年の「蛾の事件」以前、エジソンが1878年の手紙で既に「bugs」を技術不具合の意味で使っていた事実
- ハーバードMark IIで発見された蛾のログ記載「First actual case of bug being found」の正確な意味
- 蛾の発見者がグレース・ホッパー本人ではなくチームメンバーだった史実
- 「デバッグ」が第二次世界大戦中の航空機整備用語から継承された経緯
- Stack Overflow調査で87%のエンジニアが今も「printデバッグ」を日常使用している現状
- 「defect」「issue」への置き換え提案が定着しなかった言葉の親しみやすさの力
「バグ」という言葉を聞くと、多くの人がハーバード大学のコンピュータに蛾が挟まったエピソードを思い浮かべる。1947年、グレース・ホッパーがリレーに挟まった蛾を発見し、「最初のコンピュータバグ」として記録したという話だ。だが、この有名なエピソードには重大な誤解が含まれている。
「バグ」は蛾より前から使われていた
「bug」という言葉が機械の不具合を意味する用語として使われていた記録は、1947年よりもはるか前に遡る。
| 年 | 記録 | 使用者 |
|---|---|---|
| 1878年 | エジソンの手紙に「bugs」の記述 | トーマス・エジソン |
| 1889年 | Pall Mall Gazetteに「bug」が掲載 | イギリスの新聞記者 |
| 1931年 | Fly in the Ointment(問題点の意味)の類語として使用 | 技術者一般 |
| 1944年 | ハーバードMark Iの運用記録に「bug」が登場 | ハーバード計算研究所 |
| 1947年 | Mark IIに蛾が挟まる事件 | グレース・ホッパーのチーム |
エジソンは1878年の手紙で「It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that 'Bugs'—as such little faults and difficulties are called—show themselves.」と書いている。コンピュータが発明される半世紀以上前に、「bug」はすでに技術用語だった。
蛾の事件の真相
1947年9月9日、ハーバード大学でMark IIコンピュータのリレー70番パネルFに蛾が挟まっているのが発見された。技術者はこの蛾をログブックにテープで貼り付け、「First actual case of bug being found(バグが発見された最初の実例)」と記録した。
ここで重要なのは「actual」という言葉だ。「文字通りの(actual)」バグ、つまり本物の虫が見つかったことへのジョークであり、「バグ」という概念自体が初めて生まれた瞬間ではない。チームはすでに「bug」を不具合の意味で使っていたからこそ、このユーモアが成立した。
グレース・ホッパーの功績と神話化
もうひとつの誤解は、蛾を発見したのがグレース・ホッパー本人だという点だ。ログブックの筆跡を分析した研究では、記録を残したのはホッパーのチームメンバーであり、ホッパー自身がその場にいたかどうかも定かではない。
| 通説 | 史実 |
|---|---|
| ホッパーが蛾を発見した | チームメンバーが発見。ホッパーの関与は不確実 |
| これが「バグ」の語源 | エジソンの時代から使われていた既存用語 |
| 最初のコンピュータバグ | 「本物の虫だった」という点では初の記録 |
| Mark Iでの出来事 | Mark IIでの出来事 |
ただし、ホッパーがこのエピソードを講演で繰り返し語り、「バグ」という用語をプログラミング文化に定着させた功績は間違いない。ホッパーは語り部として「バグの蛾」を歴史に刻んだ。
「デバッグ」の語源も再考の余地がある
「デバッグ(debug)」という言葉は「虫(bug)を取り除く」と理解されがちだが、こちらの語源も蛾のエピソードとは独立している。軍事用語として、レーダーや通信機器のトラブルシューティングを「debugging」と呼ぶ慣習は1940年代前半から存在していた。
第二次世界大戦中の航空機整備では、電子機器の不調を「バグが入った」と表現し、修理を「デバッグ」と呼んでいた。コンピュータの世界が軍事技術から生まれたことを考えれば、この用語の継承は自然な流れだ。
バグ修正の歴史:デバッグ手法はどう進化したか
「バグ」の概念と同様、デバッグの手法も時代とともに進化してきた。
| 年代 | デバッグ手法 | 特徴 |
|---|---|---|
| 1940年代 | 物理的点検 | リレーやケーブルを目視で確認。蛾の発見もこの方法 |
| 1960年代 | プリント文デバッグ | 変数の値を印刷出力で確認。現在でも健在 |
| 1980年代 | 対話型デバッガ(GDB等) | ブレークポイント、ステップ実行が可能に |
| 2000年代 | 統合開発環境(IDE) | ビジュアルなデバッグ、変数ウォッチ |
| 2020年代 | AIデバッグアシスタント | GitHub Copilot、Claude Codeがバグの原因を推測 |
興味深いのは、最も原始的な「プリント文デバッグ」が80年以上経った今でも広く使われている点だ。Stack Overflowの調査によれば、エンジニアの87%が「printデバッグを日常的に使う」と回答している。高度なツールが利用可能であっても、シンプルさは強い。
AIデバッグの登場は、バグとの戦いに新たな章を開いた。エラーメッセージをそのままClaude CodeやChatGPTに貼り付ければ、原因の候補と修正案が数秒で返ってくる。「バグを見つける」行為自体が、人間の専売特許ではなくなりつつある。
「バグ」に代わる言葉は生まれるか
プログラミング用語には、起源が曖昧なまま定着した言葉が多い。「バグ」もその一つだが、代替用語が提案されたことがないわけではない。
2000年代初頭、一部のアジャイル開発コミュニティでは「バグ」の代わりに「defect(欠陥)」や「issue(課題)」を使おうとする動きがあった。「バグ」という言葉が「偶然紛れ込んだもの」という印象を与え、開発プロセスの問題から目を逸らさせるという批判からだ。
しかし、この置き換えは定着しなかった。「バグを直した」のほうが「欠陥を是正した」よりもはるかに自然で、開発者の間で心理的な距離が近い。言葉の「親しみやすさ」が、正確性に勝ったのだ。
興味深いことに、「バグ」の概念は他の言語でもそのまま使われている。日本語でも「バグ」、フランス語でも「bug」、中国語でも「Bug」。技術用語のグローバル化の好例だ。これはWi-Fiの命名と同じ構造——短く、発音しやすく、翻訳の必要がない言葉は、世界中で生き残る。
エジソンが1878年に使い始めた「バグ」という言葉が、150年後のSlackのスレッドで「🐛 バグ修正完了」というリアクションとして使われている。言葉の寿命は、技術の寿命よりはるかに長い。次にデバッグコンソールを開くとき、この150年の旅路を思い出してもらえたら幸いだ。エジソンもホッパーも、きっと今日もどこかで微笑んでいるだろう。
余談だが、プログラミング用語には他にも昆虫にちなんだ表現がある。「ant(アリ)」はビルドツールの名前に、「spider(クモ)」はWebクローラーの別名として使われている。テクノロジーの世界は、意外と自然界からインスピレーションを得ているのだ。
神話は真実より強い
歴史的に正確ではないにもかかわらず、「蛾がバグの語源」という説はプログラミング文化の中で不動の地位を占めている。スミソニアン博物館には、あの蛾が貼り付けられたログブックの実物が展示されている。
事実の正確さよりも物語の力が勝つことがある。だが歴史を丁寧にたどれば、「バグ」はエジソンの発明工房からハーバードの計算機室へ、そして世界中のエディタのエラーログへと、150年かけて旅をしてきた言葉だとわかる。次に「バグを直した」と言うとき、あなたはエジソンとホッパーのどちらを思い浮かべるだろうか。
言葉が変えるもの
業界で使われる小さな言葉が、やがて組織文化や判断の質を形作る。
使う言葉を選ぶことは、自分と周囲の思考の枠を選ぶことでもある。
あなたが日常で使っている言葉のどこに、無意識の前提が潜んでいるだろうか。
よくある質問(FAQ)
Q. 「バグ」の本当の語源は蛾ではない?
蛾のエピソードより半世紀以上前から、「bug」は技術用語として使われていた。
エジソンは1878年の手紙で「bugs」を発明の不具合の意味で使っている。1947年9月9日にハーバードMark IIで発見された蛾は「文字通りの(actual)バグが見つかった最初の実例」というジョークであり、用語の起源ではない。
Q. グレース・ホッパーが蛾を発見した?
ログブックの筆跡分析から、記録を残したのはチームメンバーで、ホッパー本人の関与は不確実とされている。
ただし、ホッパーがこのエピソードを講演で繰り返し語り、「バグ」という用語をプログラミング文化に定着させた功績は大きい。彼女は語り部として「バグの蛾」を歴史に刻んだ存在だ。
Q. 「デバッグ」という言葉の起源は?
第二次世界大戦中の航空機整備用語が起源だ。
1940年代前半から、レーダーや通信機器のトラブルシューティングを「debugging」と呼ぶ慣習が存在していた。コンピュータの世界が軍事技術から生まれたため、この用語がそのまま継承された。
Q. 今でもprintデバッグは現役?
Stack Overflowの調査によれば、エンジニアの87%が「printデバッグを日常的に使う」と回答している。
GDBやIDEのビジュアルデバッガ、GitHub CopilotやClaude CodeのようなAIデバッグアシスタントが登場した現在でも、printデバッグは最も広く使われる手法だ。高度なツールよりシンプルさが勝つ好例といえる。
よくある質問
Q1. 1947年の蛾事件は最初のバグか?
違う。エジソンが1878年の手紙で既に「bugs」を技術不具合の意味で使っていた。ハーバードMark IIに挟まった蛾の事件は、本物の虫が見つかった「文字通りの実例」をジョーク的に記録したものだ。
Q2. 蛾を発見したのは誰か?
グレース・ホッパー本人ではない。ログブックの筆跡分析によれば、記録を残したのはチームメンバーで、ホッパーが現場に居合わせたかも確認できていない。神話化の過程で本人の功績として広まった。
Q3. 「デバッグ」はどこから来たか?
第二次世界大戦中の航空機整備用語が起源である。機体の不具合を取り除く作業を指していた語が、戦後の計算機運用に持ち込まれ、現代のソフトウェア開発用語として定着した。