Dasturlash olamida "bug" (xatolik) va "debugging" (xatoliklarni qidirish) terminlari har kuni ishlatiladi. Ko‘pchilik bu so‘zni 1947-yilda kompyuter ichidan topilgan haqiqiy kapalak bilan bog‘lasa-da, atamaning ildizlari ancha chuqurroq va qiziqarliroqdir.

Atamaning Kelib Chiqishi: Edison Davri

Garchi 1947-yilgi voqea mashhur bo‘lsa-da, "bug" so‘zi texnik nosozliklarni ifodalash uchun undan deyarli 70 yil oldin ishlatila boshlangan.

  • Tomas Edisonning hissasi: 1878-yilda ixtirochi Tomas Edison o‘z do‘stiga yozgan xatida muammolarni shunday tasvirlagan: "Barcha ixtirolarimda birinchi qadam – kashfiyot bo‘lsa, keyingi bosqich 'bug'larni (hasharotlarni) topishdir". U texnik muammolarni go‘yo mashina ichiga yashirincha kirib olgan kichik hasharotlarga o‘xshatgan.
  • Lug‘atlardagi aks etishi: 1889-yilga kelib, "Pall Mall Gazette" nashri muhandislik sohasidagi nosozliklarni "bug" deb atash odatiy holga aylangani haqida yozgan.

1947-yil: Birinchi "Haqiqiy" Kompyuter Xatosi

Kompyuter texnologiyalari tarixida bu atama Greys Xopper (Grace Hopper) nomi bilan chambarchas bog‘liq. 1947-yil 9-sentabrda Harvard universitetida Mark II kompyuteri bilan ishlayotgan muhandislar g‘alati nosozlikka duch kelishdi.

  • Topilma: Kompyuterning 70-relesi (elektr kaliti) orasiga bir tun kapalagi (moth) kirib qolgan va elektr zanjirini uzib qo'ygan edi.
  • Tarixiy qayd: Muhandislar bu kapalakni ehtiyotkorlik bilan olib, ishchi jurnalga (logbook) yopishtirishdi va yoniga: "First actual case of bug being found" (Topilgan birinchi haqiqiy bug holati) deb yozib qo'yishdi.
  • Natija: Aynan shu voqeadan so‘ng, "debugging" (hasharotni yo‘qotish) so‘zi dasturlashdagi rasmiy jarayon nomiga aylandi.

"Debugging" Nega Shunchalik Muhim?

Zamonaviy dasturlashda xatoliklarni topish va bartaraf etish dastur yozishning o‘zidan ko‘ra ko‘proq vaqt talab qilishi mumkin. Hozirda "bug"lar faqat hasharotlar emas, balki murakkab tizimli xatolar ko‘rinishida namoyon bo‘ladi:

Xatoliklarning asosiy turlari:

  1. Sintaktik xatolar (Syntax Errors): Kod yozishdagi imlo xatolari.
  2. Mantiqiy xatolar (Logical Errors): Dastur ishlaydi, lekin natija noto‘g‘ri (eng xavfli turi).
  3. Run-time xatolar: Dastur ishga tushgandan so‘ng kutilmagan tashqi omillar sababli to‘xtab qolishi.

Qiziqarli Faktlar

  • Muzeydagi eksponat: 1947-yilda topilgan o‘sha mashhur tun kapalagi va o‘sha kun yozilgan ishchi jurnal bugungi kunda Vashingtondagi Milliy Amerika tarixi muzeyida saqlanadi.
  • Heisenbug: Dasturlashda shunday "bug"lar borki, ularni tekshirmoqchi bo‘lganingizda yo‘qolib qoladi yoki o‘zini boshqacha tutadi. Ular fizik Verner Geyzenberg sharafiga shunday nomlangan.

Xulosa

Dasturchilar "bug"lar bilan kurashishni haqiqiy hasharotlarni haydashdan boshlagan bo‘lsalar, bugungi kunda bu jarayon dunyodagi eng intellektual va murakkab faoliyatlardan biriga aylangan. Har bir tuzatilgan xatolik dasturni nafaqat barqaror, balki mukammal qiladi.