Czy COBOL umiera

COBOL jest jednym z najstarszych języków programowania. Jako jedyny powstał po to, by ułatwić prace programistyczne w dziedzinach finansowych. Jak wygląda perspektywa dla tego języka?

Język COBOL (ang. COmmon Business Oriented Language) jest bardzo starym językiem programowania. Pierwszy standard pochodzi z roku 1960. Głównym zastosowaniem były obliczenia finansowe. Składnia tego języka została tak opracowana, by maksymalnie przybliżyć ją do składni języka angielskiego. Na przykład, wprowadzono konstrukcje takie jak ADD A TO B GIVING C. czy ADD YEARS TO AGE. (co odpowiada age := age + years w języku Pascal lub age += years w języku C), a kropka kończy zapis instrukcji. Chociaż programiści nie zawsze lubią ten język, jest on używany bardzo często właśnie w obliczeniach finansowych. Szacuje się, że niemal 90% światowych transakcji finansowych przetwarza się za pomocą aplikacji w COBOL-u.

Mimo wszystko język jest uznawany za niszowy i kojarzony głównie ze światem komputerów mainframe. Do najważniejszych wad COBOL-a należą: brak lokalnych zmiennych, wskaźników, własnych typów zmiennych, rekurencji i programowania strukturalnego, dynamicznej alokacji pamięci oraz nadmiernie rozbudowana składnia. Niedostatek programowania obiektowego, a także funkcji i typów danych definiowanych przez użytkownika jest uzupełniany przez rozszerzenia, takie jak OO-COBOL. Z kolei do aplikacji napisanych w tym języku często opracowuje się front-end webowy, obsługiwany przez przeglądarkę, także z urządzeń mobilnych.

Najważniejszą zaletą COBOL-a jest szeroka baza aplikacji finansowych oraz specyficzna składnia ułatwiająca zrozumienie programu, którego złożoność pochodzi nie tyle ze skomplikowanych algorytmów i struktur danych, ile z reguł biznesowych, które należało oprogramować. Język ten jest w wysokim stopniu przenośny między sprzętem i systemami operacyjnymi, co powszechnie wykorzystuje się przy rehostingu istniejącego oprogramowania. Przy wielkoskalowych obliczeniach wsadowych i przetwarzaniu transakcyjnym na komputerach klasy mainframe aplikacje w COBOL-u wykazują się skalowalnością, wydajnością i matematyczną dokładnością.

Problemem są ludzie

Niewielkie zainteresowanie nauką tego języka oraz jego niszowość w porównaniu do takich języków jak Java czy C sprawiają, że w firmach korzystających z COBOL-a pojawiają się pierwsze symptomy problemów kadrowych. W ankiecie przeprowadzonej przez Computerworld w USA na 357 ankietowanych menedżerów IT, 46% respondentów odpowiedziało, że zauważają problemy kadrowe już teraz, a aż 50% odpowiedziało, że średnia wieku programistów i specjalistów IT związanych z COBOL-em przekracza 45 lat. Aż 22% respondentów ma jeszcze starszą kadrę, gdzie średnia wieku przekracza 55 lat. Paul Vallely, dyrektor działu sprzedaży platform klasy mainframe w firmie Compuware, uważa, że "Firmy robią wszystko, by uniknąć problemów związanych z brakiem kadry, ale zasoby ludzkie są ograniczone. Chociaż nie spotkałem się jeszcze z migracją ze środowiska mainframe tylko ze względu na brak doświadczonych w COBOL-u pracowników, uważam, że problem ten zaczyna się wyłaniać".

Stare programy, nowy sprzęt

COBOL jest eksploatowany głównie w sektorze finansowym. Instytucje, takie jak banki, mają wiele aplikacji, które nadal chcą utrzymywać. Bank of New York Mellon, który kupił swój pierwszy komputer mainframe w roku 1955, nadal utrzymuje główne aplikacje napisane właśnie w COBOL-u na komputerach tej klasy, wykorzystując wydajność rzędu 52,000 MIPS na dziewięciu maszynach, przy czym obciążenie to rośnie o 10% rocznie. Przy takiej skali ponowne napisanie aplikacji nie jest uzasadnione biznesowo, istotne zyski przynosi zatem dobudowanie front-endów webowych i rozwój istniejącej infrastruktury. W przypadku mniej ważnych aplikacji proces migracji z komputerów mainframe jest zaawansowany.

W niektórych przypadkach pożądaną cechą COBOL-a jest jego przenośność. Aplikacje można prosto przenieść na inną platformę rozproszoną, taką jak Linux czy Windows, dzięki czemu można przenieść mniej ważne obciążenie poza bardzo kosztowny świat mainframe. Firma Micro Focus oferuje system, który będzie obsługiwał aplikacje napisane w COBOL-u, pracując w chmurze Microsoft Azure.

Załatać lukę kadrową

Znalezienie programisty piszącego w COBOL-u nie jest dziś łatwe, gdyż nie jest to język często wykładany na uczelniach informatycznych. Poprawę przynoszą projekty rozwijane przez firmę IBM, mające na celu kształcenie kadry związanej ze środowiskiem klasy mainframe. W USA projekt ten objął ponad 80 uczelni, kształcąc co roku setki programistów. W Polsce prowadzono seminaria poświęcone temu językowi na Wydziale Matematyki, Informatyki i Mechaniki UW, ponadto kursy programowania w COBOL-u prowadziła Polsko-Japońska Wyższa Szkoła Technik Komputerowych.

Nauka programowania w tym języku nie jest trudna - jeśli dobry programista rozumie zależności przy pisaniu oprogramowania w językach, takich jak Java, może łatwo przejść do pisania w COBOL-u. Kluczem do sukcesu jest jednak nie nauka samego języka, ale rozumienie reguł biznesowych, które są zaimplementowane w kodzie. Właśnie tego brakuje niektórym dzisiejszym programistom, a COBOL kładzie nacisk na procesy finansowe w biznesie.


TOP 200