Pandemia COVID-19 ujawniła ukryty kryzys w amerykańskiej infrastrukturze: państwa przy wypłacaniu zasiłków dla bezrobotnych korzystały z 60-letnich systemów COBOL (Common Business-Oriented Language), a niewielu programistów wiedziało, jak je naprawić. To nie jest tylko ciekawostka historyczna; Nieefektywność języka COBOL kosztuje gospodarkę amerykańską szacunkowo 105 miliardów dolarów w samym 2020 roku. Mimo to COBOL nadal działa, obsługując wszystko, od baz danych pojazdów po codzienne transakcje finansowe o wartości bilionów dolarów.
Początki języka wszechobecnego
COBOL narodził się w 1959 roku za sprawą komitetu, którego zadaniem było rozwiązanie problemu wysokich kosztów i złożoności wczesnego programowania. Celem było stworzenie języka zrozumiałego dla każdego, nawet nieprogramisty. Departament Obrony USA szybko wsparł projekt, nakazując stosowanie kompilatorów COBOL w kontraktach federalnych, zapewniając mu dominację w czasie zimnej wojny.
Sukces języka COBOL wynika z niezależności maszyn i szybkiego wdrożenia. Jego projekt był celowo prosty, przy użyciu prostego języka angielskiego i setek słów, takich jak „jest” i „wtedy”, mając na celu samodokumentujący się kod. Jednak ta czytelność zniknęła w dużych programach, co doprowadziło do niesławnego „kodu spaghetti” z powodu bezwarunkowej instrukcji „GO TO”.
Dlaczego język COBOL pozostaje niezbędny
Pomimo krytyki ze strony informatyków, takich jak Edsger Dijkstra, który nazwał jego użycie „przestępstwem”, język COBOL rozkwitł. Jego siła polega na dokładności w zastosowaniach finansowych, wykorzystując arytmetykę stałoprzecinkową zamiast arytmetyki zmiennoprzecinkowej, co czyni go idealnym do dokładnego przetwarzania dużych ilości.
Wady języka zostały rozpoznane na początku jego istnienia; projektant Jean Sammet uznał brak „parametryzacji” za kluczowy błąd, przez który zmiany w jednej części programu miały wpływ na cały system. Ta złożoność sprawia, że nowoczesne aktualizacje są wyjątkowo trudne, co widać na przykładzie problemów New Jersey z systemem zasiłków dla bezrobotnych.
Przyszłość języka COBOL: wyzwania związane ze sztuczną inteligencją i konwersją
Obecnie firmy takie jak IBM oferują narzędzia do konwersji oparte na sztucznej inteligencji, które obiecują przepisać systemy COBOL na nowoczesne języki. Jednakże wysiłki te często skutkują powstaniem „JOBOL” – mylącego systemu hybrydowego, który zachowuje strukturę języka COBOL, ale traci czytelność. Samo zastąpienie języka COBOL przez język Java nie rozwiązuje podstawowych problemów.
Zrównoważony rozwój w języku COBOL to przestroga: to, co wydaje się skuteczne na papierze, z czasem może stać się niebezpiecznym obciążeniem. Pomimo swoich niedociągnięć język pozostaje głęboko zintegrowany z infrastrukturą krytyczną, a jego usunięcie okazało się znacznie trudniejsze, niż oczekiwano.
