Yazılımcılar bir hatayı "bug" (böcek) diye anar, hatayı ayıklamaya da "debug" der. Bu kelimelerin arkasında çok sevilen bir hikâye var: 1947'de Harvard'daki dev bir bilgisayarın içinden gerçek bir güve çıktı. Üstelik o güve hâlâ duruyor, bir müzede, bir deftere yapıştırılmış halde.
Hikâye doğru. Ama içinde, sosyal medyada pek anlatılmayan iki küçük düzeltme saklı. Biri güveyi kimin bulduğuyla, diğeri "bug" kelimesinin yaşıyla ilgili. İkisini de birincil kaynağa, yani güvenin bugün durduğu müzenin kaydına bakarak çözebiliyoruz.
Rölenin içindeki güve
Olayın geçtiği makine Harvard Mark II'ydi. Bu, elektronik devreler yerine elektromekanik rölelerle çalışan devasa bir hesap makinesiydi. Wikipedia'ya göre yaklaşık 25 kısa ton (23 ton) ağırlığındaydı ve 370 metrekareden fazla alan kaplıyordu. Bir toplama işlemi 0,125 saniye, bir çarpma 0,75 saniye sürüyordu.
Mark II, selefi Mark I'e göre toplamada yaklaşık 2,6 kat, çarpmada yaklaşık 8 kat hızlıydı. Kayan noktalı sayılar için donanım desteği olan ikinci makineydi ve karekök, logaritma gibi işlemler için yerleşik birimleri vardı; bunların her biri 5 ila 12 saniye sürüyordu. İlginç bir tasarım detayı da şuydu: makine, birlikte ya da ayrı ayrı çalışabilen iki alt bilgisayardan oluşuyordu, böylece sonuçlar çapraz kontrol edilebiliyordu. Mart 1948'de Virginia'daki Dahlgren Donanma Deneme Alanı'na teslim edildi.
9 Eylül 1947'de, saat 15.45 civarında, makine düzgün çalışmayınca ekip içine baktı. Computerworld'ün aktardığına göre güve, F panelindeki 70 numaralı rölenin kontakları arasında sıkışmıştı. Ekip güveyi çıkardı ve makinenin çalışma defterine bantla yapıştırdı. Bugünün diliyle söylersek, ekip makineyi kelimenin tam anlamıyla "debug" etmişti. Yanına da şu not düşüldü: "First actual case of bug being found." Yani "Gerçek bir böceğin bulunduğu ilk vaka."
Düzeltme 1: Güveyi Grace Hopper bulmadı
Bu hikâye genellikle bilgisayar öncüsü Grace Hopper'la birlikte anlatılır. Hopper 1947'de gerçekten Mark II üzerinde çalışıyordu ve sonradan ABD Donanması'nda tuğamiral oldu. Wikipedia'ya göre makinenin yapımında ve programlanmasında Howard Aiken ve Edmund Berkeley ile birlikte çalıştı. Ama Smithsonian Ulusal Amerikan Tarihi Müzesi'nin kaydına göre güveyi deftere yapıştıranlar Mark II üzerinde çalışan mühendislerdi ve defter "muhtemelen Hopper'ın değildi."
Hopper'ın asıl katkısı, hikâyeyi yıllarca anlatarak ünlü yapmasıydı. Müze, Hopper ve Mark II ekibinin "computer bug" ve "debug" terimlerini yaygınlaştırmaya yardım ettiğini söylüyor.
Tarih konusunda da küçük bir karışıklık var. Bazı kaynaklar, Computerworld'ün yazısı dahil, defterdeki tarihi 1945 olarak aktarır. Smithsonian ise defteri 1947'ye tarihliyor ve Mark II zaten 1947'de tamamlandı. Bu yüzden 1947 en sağlam tarih.
Düzeltme 2: "Bug" kelimesi çok daha eskiydi
Notu bir daha oku: "first actual case of bug being found." Buradaki espri "actual" kelimesinde. Mühendisler zaten aksaklıklara "bug" diyordu. Bu kez ilk defa gerçek bir böcek bulmuşlardı. Yani not, aslında mühendis mizahının küçük ama kalıcı bir örneği.
Computerworld, The Yale Book of Quotations'a dayanarak Thomas Edison'ın 1878'de Theodore Puskas'a yazdığı bir mektupta küçük arıza ve zorluklar için "Bugs" kelimesini kullandığını aktarıyor. Yani güve kelimeyi icat etmedi, sadece kelimenin en güzel kanıtı oldu.
| 1947 | Bugün |
|---|---|
| Bug: rölede sıkışan güve | Bug: kodda gözden kaçan satır |
| Ayıklama: güveyi elle çıkarmak | Ayıklama: debugger ve testler |
| Hata kaydı: kâğıt defter | Hata kaydı: hata takip sistemleri |
Hikâye neden bu kadar seviliyor?
Çünkü soyut bir şeyi elle tutulur hale getiriyor. "Yazılım hatası" görünmez bir şey. Ama bantla deftere yapıştırılmış gerçek bir güve, herkesin anlayacağı bir resim. Üstelik mühendislerin kendi aralarındaki küçük bir şaka olarak başlıyor ve 80 yıla yakın süredir anlatılıyor.
Mark II'nin teknik özelliklerini bugün pek kimse hatırlamıyor, ama o güveyi herkes biliyor. Teknoloji tarihinde bazen en büyük izi en küçük şeyler bırakıyor.
Sen de kodunda "bug" ararken hiç gerçekten böcek gibi saklanan bir hatayla karşılaştın mı?