COBOL še vedno poganja precej bančnih sistemov

Matej Huš

11. apr 2017 ob 16:40:11

Redko pridejo programski jeziki v novice, še redkeje med novice za splošno javnost. Še redkeje pa pride na prve strani jezik iz 60. let, ki ga danes ne učijo več na skoraj nobeni univerzi. Gre seveda za COBOL, ki še danes poganja ogromno bančnih sistemov po vsem svetu. Ti sistemi so z leti doživeli nadgradnje, a jedro je ostalo, tako da še vedno tečejo na COBOL-u. Sedaj pa je začelo zmanjkovati programerjev, ki ga razumejo.

Za vsakdanjo rabo so COBOL zamenjali modernejši jeziki, kot so Java, C ali Python (ki sedaj že niti niso več novi), v bankah pa je COBOL ostal. Poleg prednosti, med katerimi sta najpomembnejši zanesljivost in pravilno zaokroževanje centov (pri običajnem računanju s plavajočo vejico se hitro zgodi, da kakšen cent izgine), se je COBOL obdržal tudi iz pragmatičnih razlogov. Sistemi delujejo, v vse detajle kode pa se malokdo poglablja, dokler ni težav. Migracija na novejše sisteme bi prinesla ogromno tveganje, da gre kaj narobe, medtem ko prednosti niso otipljive - v najboljšem primeru bi sistem spet deloval brez težav, kot je to že danes.

Specialistov za COBOL je čedalje manj, zato so njihova znanja zaželena, urne postavke pa visoke, piše Reuters. Tako niso redki inženirji, ki še v svojih 70. ali 80. letih rešujejo probleme s COBOL-om za velike stranke. Nekdanji izvršni direktor banke Barclays pojasnjuje, da je problem širši od pomanjkanja strokovnjakov. Sistemi so zelo kompleksni, saj drug na drugem slonijo generacijo različnih tehnologij, ki so pogosto tesno prepletene. Zato je zamenjava prastarih sistemov na COBOL-u tako težavna. Dodaten problem je slabo dokumentirana koda iz 70. let, ki marsikod še vedno teče. Kako draga je zamenjava, priča Commonwealth Bank of Australia, ki je leta 2012 zamenjala svoj sistem z modernim, ki sta postavila Accenture in SAP. Projekt je stal 700 milijonov evrov. IBM pa celo razpisuje štipendije in organizira tečaje COBOL-a, kar priča o njegovi zavezanosti, da COBOL ohrani pri življenju.