バグ / デバッグとは何かざっくり解説!

開発・プログラミング

【ざっくり言うと】

バグとはプログラムの「間違い(不具合)」のこと、デバッグとはそれを「修正する(取り除く)作業」のことやで。

  • 「Bug(虫)」が入ると機械がおかしくなる、というのが語源。
  • 「De(取り除く)」+「Bug(虫)」=デバッグ(虫取り)や。
  • プログラマーの仕事の半分以上は、この虫取り作業なんやで。

【詳しく教えて!】

どうも、ワイです。

スマホアプリが急に落ちたり、画面が固まったりしてイライラしたこと、ありますよね。
あれが憎き「バグ」です。

でも、なんで機械の間違いを「虫」って呼ぶんでしょうか?

🐛 語源は「本物の虫」だった!?

実はこれ、比喩じゃなくて実話なんです。
昔々(1947年)、部屋一つ分くらいある巨大なコンピューターが故障しました。
エンジニアが調べてみると、なんと機械の隙間に「一匹の蛾(ガ)」が挟まっていて、それが原因で接触不良を起こしていたんです。

日誌にその蛾をテープで貼り付けて「本物の虫(バグ)が見つかった」と記録したのが、世界初のバグ報告だと言われています。
それ以来、不具合のことを「バグ」、それを取ることを「デバッグ(De-bug)」と呼ぶようになったんですね。

🍛 「レシピの書き間違い」と同じ

プログラムのバグは、料理のレシピで考えると分かりやすいです。

  • 正しいレシピ:「塩 小さじ1」
  • バグったレシピ:「塩 1kg

こんな間違いがあったら、出来上がる料理(アプリ)は食べられたもんじゃありません。
プログラミングの世界では、「.(ドット)」が一つ抜けただけでも、システム全体が動かなくなります。
この書き間違いを探して直すのが「デバッグ」です。

💬 職場の風景で見てみよう

Aさん(新人):「先輩…さっき書いたプログラムが全然動きません…。画面が真っ白です…。」

Bさん(ベテラン):「おっ、どこかにバグが潜んでるな。一緒に探してやるか。」

Aさん:「お願いします…(泣)」

Bさん:「……ん? ここ、よく見ろ。『スペース』が入ってるけど、これ全角スペースじゃないか?」

Aさん:「ああっ!! 本当だ!! 半角スペースじゃなきゃダメなのに!」

Bさん:「はい、バグ発見。これを半角に直して…(カチャカチャ)。よし、動いたな。」

Aさん:「ありがとうございます! たった1文字の隙間のせいで動かなくなるなんて…。」

Bさん:「それがプログラミングだ。これを見つける作業(デバッグ)が俺たちの本当の仕事みたいなもんだからな。」

実はエンジニアって、カッコよくコードを書いている時間より、「なんで動かないんだー!」って頭を抱えてバグを探している(デバッグしている)時間のほうが圧倒的に長いんですよ。


【結局どういうこと?】

ビジネスの現場では、「バグのないソフトウェアはこの世に存在しない」と言われています。
人間が作る以上、必ず間違いはあります。
だから大事なのは、「バグをゼロにすること」よりも、「バグが出た時に素早く見つけて直せる(デバッグできる)体制を作っておくこと」なんです。

まぁ、そんな感じです。

コメント

タイトルとURLをコピーしました