Unia Europejska

nauka programowania dla dzieci
Blog

Najstraszliwsze błędy programistyczne w historii


4 minuty czytania

Pierwszy język programowania został napisany już w latach 50’ XX wieku. Z czasem zaczęły pojawiać się kolejne i bardziej zaawansowane środowiska programistyczne, które pozwoliły rozwinąć skrzydła nowym technologiom. Gdyby nie one, nie wyruszylibyśmy na podbój kosmosu i nie mielibyśmy dzisiaj dostępu do Internetu. Z drugiej strony, błędnie napisany kod był przyczyną wielu programistycznych katastrof. Zapraszamy do lektury! 

Pluskwa milenijna, czyli totalna apokalipsa

Niewiele osób wie, ale z programowaniem wiąże się szereg prawdziwie mrocznych historii. Wśród nich warto wymienić tzw. YK2, czyli problem roku 2000. Chodziło tutaj o potencjalnie katastroficzne skutki, jakie miał wywołać początek kolejnego tysiąclecia. Związane to było ze sposobem zapisu daty w programach komputerowych, który przyjęto kilkadziesiąt lat wcześniej. 

W dużym skrócie dawne programy komputerowe (w ramach oszczędzania pamięci) nie były w stanie przechowywać zbyt wielu informacji. Dlatego też postanowiono, że dany rok zapisywany będzie tylko dwiema ostatnimi cyframi. Nie przewidziano jednak, że kolejne wersje programów będą w użytku aż tak długo. Obawiano się wówczas, że wraz z nadejściem 2000 roku większość oprogramowań po prostu przestanie działać. Ostatecznie jednak wystąpiły jedynie problemy o lokalnym zasięgu, a niepotrzebna i paniczna aktualizacja aplikacji kosztowała poszczególne branże kilkaset miliardów dolarów.

Therac-25 - horror z prawdziwego zdarzenia 

Błąd w kodzie maszyn służących do radioterapii wywołał w latach 80’ XX masowe przerażenie. Okazało się wówczas, że Therac-25, czyli jedna z takich maszyn, posiadała w swoim oprogramowaniu kilka poważnych błędów. W rezultacie podawała ona pacjentom niewłaściwe dawki promieniowania, co doprowadziło do ciągu tragicznych zdarzeń. Co ciekawe, tamte wydarzenia do dzisiaj wykorzystywane są w studiach dotyczących niezawodności oprogramowania i tego, w jakim stopniu powinno być one kontrolowane przez człowieka. 

Mariner 1 - błąd, który kosztował miliardy dolarów

Ludzkość od zawsze marzyła o podboju kosmosu. Nie dziwił więc fakt, że gdy technologia osiągnęła odpowiedni poziom, NASA podjęło próbę zbadania Wenus. W tym celu (w 1962 roku) zbudowano specjalną rakietę Mariner 1, która kosztowała prawie 20 milionów dolarów (w tamtych czasach była to monstrualna kwota). Miała ona zebrać cenne informacje na temat nowej planety, a w razie konieczności — dokonać autodestrukcji. Niestety, misja zakończyła się niepowodzeniem przez prosty błąd programistyczny. 

Wkrótce po starcie Mariner 1 zboczył z obranego kursu. Rakieta nie reagowała na żadne polecenia i w konsekwencji musiała zostać zniszczona. Dopiero po pewnym czasie okazało się, że w kodzie zabrakło małego myślnika, co spowodowało błąd w całym równaniu i zdestabilizowało lot rakiety. Później media okrzyknęły tę nieszczęśliwą usterkę mianem „najdroższego myślnika w historii”. 

Błąd, który rozpoczął apokalipsę zombie 

To akurat wbrew pozorom dość zabawna historia. W 2003 roku błąd programistyczny spowodował fikcyjną śmierć prawie 9000 osób. Zdarzenie to miało miejsce w pewnym szpitalu w stanie Michigan w USA. Okazało się wówczas, że przez lukę w oprogramowaniu szpitalny system zaczął wysyłać do swoich pacjentów fałszywe zgłoszenia o ich zgonie. Informacje te podano także do ich rodzin, co spowodowało niemałe zamieszanie. Ostatecznie jednak nikt nie zginął i wszystko skończyło się dobrze. 

Kodowanie programiście niestraszne! 

Błędy programistyczne zdarzają się niemal każdego dnia. Większość z nich jest nieszkodliwych, jak chociażby słynny błąd w grze World of Warcraft, gdzie wirus zabijał postaci graczy na wszystkich serwerach. Inne (niestety!) mogą nieść za sobą poważne konsekwencje. Dlatego też w pracy programisty tak istotne są precyzja, czujność, cierpliwość i zdolność radzenia sobie z porażkami. Nie ma przecież na świecie programisty, który nie popełniałby błędów — ważne jednak, aby wyciągać z nich odpowiednie wnioski i nieustannie poszerzać swoją wiedzę.

Najstraszliwszebłędy3


Poprzedni Następny

Ocena użytkowników: 5 / 5

Oceń artykuł

Programowanie dla dzieci Scratch
Blog

Programowanie dla dzieci w języku Scratch - czy warto?

Nauka programowania dla dzieci jest świetnym sposobem na rozwijanie ich kompetencji analitycznych i nie tylko. Aspekt ten ma...

Czytaj więcej
Tworzenie gier komputerowych
Blog

Tworzenie gier komputerowych - jaki kurs wybrać dla dziecka?

Ostatnie lata edukacji dziecięcej pokazują, że praca z komputerem może być czymś więcej niż tylko zabawą. Może ona nie tylko pozytywnie...

Czytaj więcej

Zaprogramuj swoją przyszłość już dziś!

Zapisz się na kurs