W 1947 roku znaleziono pierwszy bug komputerowy. Aby upamiętnić ten dzień raz w roku obchodzimy Dzień Testera Oprogramowania. Tak się składa, iż w tym roku święto testerów systemu przypada na 9 Września – czyli dzisiaj (no chyba, iż nie czytacie tego już dzisiaj…).
Historia bugów i debugowania
Pierwszy zarejestrowany bug komputerowy
W 1947 roku naukowcy z Harvardu pracowali nad Kalkulatorem Przekaźnikowym – Mark II Aiken. Podczas pracy znaleźli nietypowy błąd, który zyskał miano pierwszego buga komputerowego. Naukowcy znaleźli ćmę, która utknęła między dwoma stykami elektromagnetycznego przekaźnika. Ćma spowodowała zwarcie przekaźnika.
Jeden z naukowców pracujących nad komputerem wkleił ćmę do dziennika pokładowego komputera i oznaczył ją notatką:
„First actual case of bug being found.”.
Słowo „actual” (faktyczny), sugeruje, iż takie określenie dla błędu było używane już wcześniej, jednak to naukowcy z Harvardu spopularyzowali terminy „bug” i „debug”, które później stały się standardem dla programistów.
Co debugowanie ma wspólnego z samolotami?
Określenie „debugowanie” datuje się na co najmniej 1945 rok. Wtedy odnosiło się do problemów z silnikami samolotowymi. Dzisiaj debugowanie opisuje proces identyfikacji i eliminowania błędów komputerowych.
Czy bug zawsze odnosił się do komputerów?
Długo przed 1947 „Bug” był terminem używanym przez inżynierów jako określenie pomniejszych problemów występujących w projekcie. W 1878 roku Thomas Edison napisał list:
Przebieg każdego z moich projektów opierał się na tym samym. Pierwszy krok to nagle pojawiająca się intuicja. Zaraz po niej pojawiały się problemy – inaczej „bugi” – tak nazywa się małe usterki i trudności – których usunięcie wymagało miesięcy intensywnych badań i pracy zanim komercyjny sukces lub porażka zostaną osiągnięte.
Podsumowanie
W obecnych czasach bug komputerowy może być zdefiniowany jako problem z programem komputerowym lub systemem, który powoduje nieprawidłowy lub nieoczekiwany wynik. Zazwyczaj dotyczy błędów w kodzie źródłowym lub projekcie programu, albo w komponentach lub systemach operacyjnych, które są wykorzystywane przez programy.
Pierwszy bug był jednak robakiem w dosłownym tego słowa znaczeniu. Właśnie w calu upamiętnienia wydarzenia, które spowodowało przyjęcie terminu bug do codziennego języka programistów raz w roku obchodzimy Dzień Testera Oprogramowania. Tester zawodowo zajmuję się odnajdywaniem bugów, które trzeba później debugować i gdyby nie ćma to nie wiedzielibyśmy co to zdanie w ogóle znaczy…