【ざっくり言うと】
バグとはプログラムの「間違い(不具合)」のこと、デバッグとはそれを「修正する(取り除く)作業」のことやで。
- 「Bug(虫)」が入ると機械がおかしくなる、というのが語源。
- 「De(取り除く)」+「Bug(虫)」=デバッグ(虫取り)や。
- プログラマーの仕事の半分以上は、この虫取り作業なんやで。
【詳しく教えて!】
どうも、ワイです。
スマホアプリが急に落ちたり、画面が固まったりしてイライラしたこと、ありますよね。
あれが憎き「バグ」です。
でも、なんで機械の間違いを「虫」って呼ぶんでしょうか?
🐛 語源は「本物の虫」だった!?
実はこれ、比喩じゃなくて実話なんです。
昔々(1947年)、部屋一つ分くらいある巨大なコンピューターが故障しました。
エンジニアが調べてみると、なんと機械の隙間に「一匹の蛾(ガ)」が挟まっていて、それが原因で接触不良を起こしていたんです。
日誌にその蛾をテープで貼り付けて「本物の虫(バグ)が見つかった」と記録したのが、世界初のバグ報告だと言われています。
それ以来、不具合のことを「バグ」、それを取ることを「デバッグ(De-bug)」と呼ぶようになったんですね。
🍛 「レシピの書き間違い」と同じ
プログラムのバグは、料理のレシピで考えると分かりやすいです。
- 正しいレシピ:「塩 小さじ1」
- バグったレシピ:「塩 1kg」
こんな間違いがあったら、出来上がる料理(アプリ)は食べられたもんじゃありません。
プログラミングの世界では、「.(ドット)」が一つ抜けただけでも、システム全体が動かなくなります。
この書き間違いを探して直すのが「デバッグ」です。
💬 職場の風景で見てみよう
Aさん(新人):「先輩…さっき書いたプログラムが全然動きません…。画面が真っ白です…。」
Bさん(ベテラン):「おっ、どこかにバグが潜んでるな。一緒に探してやるか。」
Aさん:「お願いします…(泣)」
Bさん:「……ん? ここ、よく見ろ。『スペース』が入ってるけど、これ全角スペースじゃないか?」
Aさん:「ああっ!! 本当だ!! 半角スペースじゃなきゃダメなのに!」
Bさん:「はい、バグ発見。これを半角に直して…(カチャカチャ)。よし、動いたな。」
Aさん:「ありがとうございます! たった1文字の隙間のせいで動かなくなるなんて…。」
Bさん:「それがプログラミングだ。これを見つける作業(デバッグ)が俺たちの本当の仕事みたいなもんだからな。」
実はエンジニアって、カッコよくコードを書いている時間より、「なんで動かないんだー!」って頭を抱えてバグを探している(デバッグしている)時間のほうが圧倒的に長いんですよ。
【結局どういうこと?】
ビジネスの現場では、「バグのないソフトウェアはこの世に存在しない」と言われています。
人間が作る以上、必ず間違いはあります。
だから大事なのは、「バグをゼロにすること」よりも、「バグが出た時に素早く見つけて直せる(デバッグできる)体制を作っておくこと」なんです。
まぁ、そんな感じです。


コメント