Pandemie COVID-19 odhalila skrytou krizi v americké infrastruktuře: státy se při vyplácení dávek v nezaměstnanosti spoléhaly na 60 let staré systémy COBOL (Common Business-Oriented Language) a jen málo vývojářů vědělo, jak je opravit. Nejde jen o historickou kuriozitu; Neefektivita COBOL stojí americkou ekonomiku odhadem 105 miliard $ jen v roce 2020. Navzdory tomu COBOL nadále funguje a každý den pohání vše od databází vozidel až po biliony dolarů ve finančních transakcích.
O původu všudypřítomného jazyka
COBOL se zrodil v roce 1959 prostřednictvím výboru, který se snažil vyřešit problém vysokých nákladů a složitosti raného programování. Cílem bylo vytvořit jazyk, kterému bude rozumět každý, dokonce i neprogramátor. Americké ministerstvo obrany projekt rychle podpořilo a nařídilo použití kompilátorů COBOL ve federálních smlouvách, což zajistilo jeho dominanci během studené války.
Úspěch COBOL je způsoben jeho nezávislostí na stroji a rychlým přijetím. Jeho design byl záměrně jednoduchý, používal prostou angličtinu a stovky slov jako „je“ a „pak“, s cílem vytvořit samodokumentující kód. Tato čitelnost však ve velkých programech zmizela, což vedlo k nechvalně známému „kódu špaget“ kvůli bezpodmínečnému příkazu GO TO.
Proč COBOL zůstává zásadní
Navzdory kritice počítačových vědců, jako je Edsger Dijkstra, který označil jeho použití za „zločin“, COBOL vzkvétal. Jeho síla spočívá v jeho přesnosti pro finanční aplikace, využívající aritmetiku s pevnou řádovou čárkou namísto aritmetiky s pohyblivou řádovou čárkou, díky čemuž je ideální pro přesné zpracování velkých množství.
Nedostatky jazyka byly rozpoznány brzy v jeho existenci; designér Jean Sammet uznal chybějící „parametrizaci“ jako klíčovou chybu, kvůli které změny v jedné části programu ovlivnily celý systém. Tato složitost činí moderní aktualizace výjimečně obtížnými, jak je vidět na problémech New Jersey se systémem dávek v nezaměstnanosti.
Budoucnost COBOL: Výzvy AI a konverze
Dnes společnosti jako IBM nabízejí konverzní nástroje založené na AI, které slibují přepsání systémů COBOL do moderních jazyků. Tyto snahy však často vyústí v „JOBOL“ – nepřehledný hybridní systém, který si zachovává strukturu COBOL, ale ztrácí svou čitelnost. Pouhé nahrazení COBOL Java nevyřeší základní problémy.
Udržitelnost COBOL je varovný příběh: to, co se na papíře zdá efektivní, se může časem stát nebezpečnou zátěží. Přes své nedostatky zůstává jazyk hluboce integrován do kritické infrastruktury a jeho odstranění se ukázalo mnohem obtížnější, než se očekávalo.
