Muhtemelen daha önce duymuşsunuzdur: Yazılımda bir “hata” vardır ve bir şeyin hatalı çalışmasına veya yanlış davranmasına neden olur. Bir bilgisayar hatası tam olarak nedir ve terim nereden geldi?
Hata, Bilgisayar Yazılımında Bir Programlama Hatasıdır
Bir “bilgisayar hatası” veya “yazılım hatası“, bilgisayar yazılımındaki kasıtsız programlama hatası veya kusuru için kullanılan bir terimdir. Hatalar, donanım zincirinin bir noktasındaki insan hatasından veya bilgisayar uygulamaları, bellenim ve işletim sistemleri oluşturmak için kullanılan yazılım araçlarından kaynaklanır.
Bir programcı, yazılımı yazarken bir hata yaptığında veya çalışan, ancak programcı tarafından öngörülmeyen kasıtsız sonuçları olan bir kod yazdığında, bir yazılım hatası doğar. Hataların yazılımdan kaldırılmasına “hata ayıklama” denir.
Günümüzün yazılım odaklı dünyasında, hatalar ciddi bir iştir. Yaklaşık 20 yıl önce, Ulusal Standartlar ve Teknoloji Enstitüsü, yazılım hatalarının ABD ekonomisine yılda yaklaşık 60 milyar dolara (2002’de GSYİH’nın yaklaşık% 0,6’sı) mal olduğunu tahmin ediyordu ve o zamandan beri bu rakam muhtemelen artmıştır. Hataların olumsuz etkilerini doğru bir şekilde ölçmek zor olsa da, hatalı çalışan yazılımların üretkenliği nasıl etkileyebileceğini tahmin etmek kolaydır. Hatta ulaşım alanında hayatları riske atabilir veya enerji santralleri gibi hayati altyapıyı tehlikeye atabilir.
Neden Onlara Böcek Diyoruz?
“Hata” terimi, bilgisayarların icadından önce gelir ve aslında bir mühendislik kusuruna atıfta bulunmak için “hata” terimini başlangıçta kimin icat ettiğini bilmiyoruz. Yazılı kayıtlarda, tarihçiler bunu en erken 1870’lerde Thomas Edison‘a kadar izlediler.
Edison, kişisel notlarında ve yazışmalarında bu terimi, çözülmesi gereken zor bir sorunu veya düzeltilmesi gereken bir mühendislik hatasını ifade etmek için kullandı. Hatta böceklerle ilgili terimin 1878 tarihli bir mektubunda yazdığı şaka yaptı:
“Kısmen haklıydın, cihazımda bir “hata” buldum ama telefonda doğru değildi. Bu, “callbellum” cinsindendi. Böcek, Telefonların tüm arama cihazlarında var olması için gerekli koşulları buluyor gibi görünüyor. “
Bazıları Edison‘un örneklerini onun “böcek” terimini icat ettiği anlamına gelse de, daha önce başka birinden kaynaklanmış olması ve bu terimi sadece mühendislik arkadaşları ve ortakları arasında popüler hale getirmesi mümkündür. Oxford İngilizce Sözlüğü, bir böceğin bir ekipman parçasına sürünen ve onu arızalandıran bir böceğin metaforu olarak tanımlayan Edison ile ilgili 1889 örneğinden alıntı yapıyor ve tam da bunu yapan gerçek bir hatanın, terime başlangıçta ilham vermiş olabileceğini öne sürüyor.
“Bug” kelimesini bir anlığına bir kenara bırakıp, programlamadaki hatalardan dolayı yazılımın arızalanabileceğini tarihte bilinen ilk kişi Ada Lovelace oldu. Charles Babbage’ın Analitik Motoru hakkındaki yorumunda, sorun hakkında 1843’te yazmıştı.
“Buna, Analitik Motor’a gerekli işletim verilerini sağlamak için bir analiz sürecinin eşit olarak gerçekleştirilmiş olması gerektiği yanıtlanabilir; ve burada da olası bir hata kaynağı olabilir. Gerçek mekanizmanın süreçlerinde hatasız olduğu kabul edilirse, kartlar ona yanlış emirler verebilir. “
Bu alıntıda Lovelace, gerçek hesaplama mekanizmasının verileri işleme biçiminde hatasız olduğunu ifade eder, ancak insanlar tarafından kendisine beslenen verilerin (o sırada kartlarda programlandığı gibi) makineye yanlış talimatlar verebileceğini ve böylece yanlış sonuçlar verir.
Grace Hopper’ın Güvesi ne olacak?
On yıllardır kitaplar, dergiler ve web siteleri hatalı bir şekilde “böcek” teriminin efsanevi bilgisayar bilimcisi Grace Hopper tarafından, Harvard Mark II bilgisayarının rölelerine bir güve uçarak arızaya neden olduğunda ortaya çıktığını bildirdi. Hikaye ilerledikçe, güveyi bir seyir defterine bantladı ve tarihi bir not yazdı: “Bulunan ilk gerçek böcek vakası.”
1947’de bir güve gerçekten Mark II‘ye uçarken, her ikisi de olaydan önce gelen “hata” veya “hata ayıklama” terimlerinin ilham kaynağı değildi. Ayrıca, güvenin aslında bilgisayarda arıza yaptığına dair hiçbir kanıt yok, sadece eğlenceli bir keşifti. Hopper, Kasım 1968’de çokça alıntılanan bir röportajda anlatarak hikayeyi meşhur etti:
“Mark II’nin hatalarını ayıklarken, başka bir binadaydı ve pencereler üzerlerinde ekran yoktu ve tabii ki gece üzerinde çalışıyorduk ve dünyadaki tüm böcekler içeri girdi. Ve bir gece o anlaştık ve böceği aramaya gittik ve rölelerden birinde ölümüne dövülmüş yaklaşık dört inç kanat açıklığı olan gerçek bir büyük güve bulduk ve onu çıkarıp kayıt defterine koyduk ve üzerine bant yapıştırdık. ve bildiğim kadarıyla bu, Harvard’daki tarihsel kayıt defterinde hala var (bilgisayarda gerçek bir hata bulduk). “
Hopper hikayeyi eğlenceli buldu çünkü bilgisayardaki hataları sık sık (donanım ve yazılım kusurlarında olduğu gibi) araştırdıktan sonra, ekibi sonunda bilgisayarın içinde gerçek, gerçek bir böcek bulmuştu. Bu nedenle, “Bulunan ilk gerçek böcek vakası.”
(İlginç bir şekilde, Hopper, Mark IV güvesini, muhtemelen bilgisayarın elektromekanik rölelerinin hareketine takılmaktan kaynaklanan hasar nedeniyle “ölümüne dövülmüş” olarak tanımlıyor.)
Tarihçiler, Hopper‘ın seyir defteri mi yoksa girişi kimin yazdığını bilmiyorlar, ancak bugün, Harvard Mark II kayıt defteri Washington, D.C.’deki Smithsonian’daki Ulusal Amerikan Tarihi Müzesi’nde bulunuyor.
Mark II güvesi İlk bilgisayar hatası olmasa da, yine de tüm programcıların uğraştığı çok gerçek ve zor bir sorunun fiziksel ve kültürel sembolü olarak varlığını sürdürüyor.