Шта је ЦОБОЛ и зашто се многе институције ослањају на њега?

Гувернер америчке државе Њу Џерси је недавно споменуо програмски језик ЦОБОЛ, који је стар шест деценија. Шта је тачно ЦОБОЛ? И зашто, упркос чињеници да мали број људи данас зна како да га користи, он остаје кључан у финансијском свету?

Почеци ЦОБОЛ-а

Грејс Хопер је била изузетна личност. Докторирала је математику на Универзитету Јејл, предавала на колеџу Васар, а из америчке морнарице је отишла са чином контраадмирала. Њен значај у области рачунарства се огледа у великом броју фондација и програма који су основани у њену част. Национални истраживачки центар за научна рачунарства је свој суперкомпјутер Креј XE6 назвао по њој. Такође, морнарица је један од својих разарача, УСС Хопер, назвала по њој. Мото брода, „Aude et Efficere“ („Усуди се и оствари“), вероватно је био инспирисан самом Грејс Хопер.

Са циљем да створи програмски језик који је сличнији енглеском, од језика које компјутери са машинским кодом могу да разумеју, Хопер је развила први компајлер. То је омогућило стварање првих компајлираних језика, као што је FLOW-MATIC. То јој је обезбедило место у Конференцији за језике система података (CODASYL) 1959. године.

Хопер је такође имала кључну улогу у спецификацији и развоју Common Business Oriented Language (COBOL). Први састанак је одржан 23. јуна 1959. године, а извештај и спецификација језика COBOL су објављени у априлу 1960. године.

Револуционарност ЦОБОЛ-а

ЦОБОЛ је увео неке револуционарне идеје. Можда је најзначајнија била способност рада на различитим хардверским платформама, што је у то време било невиђено.

Језик је био детаљан и нудио је програмском инжењеру речник који је био скоро као енглески. Направљен је да обрађује огромне количине података и да буде изузетно математички прецизан.

Његов речник резервисаних речи (речи које чине језик) има око 400. Програмер повезује ове резервисане речи на начин који има синтаксички смисао и тако ствара програм.

Сваки програмски инжењер који је радио са другим програмским језицима рећи ће вам да је 400 резервисаних речи огроман број. Поређења ради, C језик има 32, а Python има 33.

Још једна необичност ЦОБОЛ-а је строг захтев да одређене програмске линије почињу у одређеним колонама. Ово је наслеђе времена бушених картица. Данас програмски инжењери имају више слободе у форматирању ЦОБОЛ кода и више не морају све да куцају великим словима. То чини рад са њим мање строгим и мање налик викању, али је и даље у великој мери производ свог времена, као што је приказано у наставку:

IDENTIFICATION DIVISION.
  PROGRAM-ID. Hello-World.
  DATA DIVISION.
  FILE SECTION.
  WORKING-STORAGE SECTION.
  PROCEDURE DIVISION.
  MAIN-PROCEDURE.
    DISPLAY "Hello world, from How-To Geek!"
    STOP RUN.
  END PROGRAM Hello-World.

Популарност ЦОБОЛ-а

Већина трансакција на банкоматима и даље користи ЦОБОЛ.

Иако данас делује застарело, ЦОБОЛ је био револуционаран када је лансиран. Брзо је стекао популарност у финансијском сектору, савезној влади и великим корпорацијама и организацијама. То је било због његове скалабилности, способности да обрађује велике количине података и математичке прецизности. Инсталиран је на мејнфрејм рачунарима широм света, постао је широко распрострањен и опстао до данас, попут отпорног корова.

Наша зависност од система који и даље користе ЦОБОЛ је запањујућа. Извештај Ројтерса из 2017. године износи следеће запањујуће статистичке податке:

И даље се користи 220 милијарди линија ЦОБОЛ кода.
ЦОБОЛ је основа за 43 процента свих банкарских система.
Системи засновани на ЦОБОЛ-у обрађују 3 трилиона долара у трговини сваког дана.
ЦОБОЛ обрађује 95 процената свих прегледа на банкоматима.
ЦОБОЛ омогућава 80 посто свих трансакција кредитном картицом.

Као што видимо, тешко је преживети дан а да не користите систем који се ослања на ЦОБОЛ. Банковни рачуни, услуге обраде чекова и јавна инфраструктура, попут банкомата и семафора, и даље се ослањају на овај код написан пре више деценија.

Проблематичност ЦОБОЛ-а

Програмски инжењери који знају ЦОБОЛ су или пензионисани, размишљају о пензионисању или су преминули. Стално губимо оне који имају потребне вештине за одржавање и рад ових виталних система. Нови, млађи програмски инжењери не знају ЦОБОЛ. Већина њих и не жели да ради на системима где морају да одржавају застарели код или да пишу нови.

Овај проблем је толико велик да је Бил Хиншо, ветеран у ЦОБОЛ-у, био приморан да се врати из пензије и оснује ЦОБОЛ Каубоје. Ова приватна консултантска фирма помаже корпоративним клијентима који не могу да нађу програмске инжењере који познају ЦОБОЛ. „Млади“ у ЦОБОЛ Каубојима (чији је мото „Ово није наш први родео“) су у педесетим годинама. Они верују да 90 процената пословних система из Фортуне 500 ради на ЦОБОЛ-у.

Наравно, приватна предузећа, корпорације и банке нису једини који треба да обрађују огромне количине финансијских података. Савезне, покрајинске и локалне службе такође имају исте захтеве. Као и сви остали, и оне за то користе мејнфрејмове и ЦОБОЛ.

Пандемија коронавируса је довела до огромних проблема, смртних случајева и економске неизвесности. Велики број људи у Њу Џерсију који су остали без посла или су отпуштени је довео до тога да је гувернер апеловао на искусне ЦОБОЛ програмере да помогну застарелим системима у држави. Они се боре да обраде 326.000 нових пријава за незапосленост.

Open Mainframe Project води волонтерску иницијативу за помоћ. Ако сматрате да можете да помогнете, радо ће вас саслушати.

Њу Џерси није усамљен у овим проблемима. Више од 10 милиона људи је поднело захтев за незапосленост, а та цифра расте. Конектикат се бори да обради четврт милиона нових пријава на државним системима старим 40 година.

Ово је широко распрострањен и дубоко укорењен проблем. Извештај Владине службе за одговорност из 2016. је навео ЦОБОЛ системе који раде на мејнфрејмовима старим до 53 године. Ово укључује системе који се користе за обраду података који се односе на Одељење за борачка питања, Министарство правде и Управу за социјално осигурање.

Зашто надоградња није урађена раније?

Надоградња ових старих система није тако једноставна као што звучи. Системи су витални, раде 24/7 и од њих зависи финансијски, државни и пословни свет. Код је стар, сложен и често је слабо или уопште недокументован. Такође, систем мора да ради све време. Ситуација се може упоредити са скидањем пропелера са авиона и покушајем да се уграде млазни мотори – док је авион у ваздуху.

Осим ризика, економски аргумент за прелазак на модерне системе је такође тежак. Новац који се улаже у одржавање ових мејнфрејмова и ЦОБОЛ апликација је невероватан. Да ли институције треба да одбаце све то и крену изнова док тај ЦОБОЛ код и даље ради и функционише? То је тешка одлука за управу која вероватно није технички поткована. ЦОБОЛ миграција неће бити ни јефтина ни брза.

„Недавно сам прошао кроз конверзију са ЦОБОЛ-а на Јаву“, рекао је Хиншо. „Требало им је четири године, а још увек нису завршили посао.“

Када је Commonwealth Bank of Australia заменила своју ЦОБОЛ платформу 2012. године, требало им је пет година, а коначна цена је била 749,9 милиона долара (1 милијарда аустралијских долара).

А то је кад све иде по плану. Британска банка TSB је била принуђена да 2018. године пређе са система заснованог на ЦОБОЛ-у због преузимања. То није добро прошло. Пошто банка данима није могла да тргује, цена миграције је на крају износила 330 милиона фунти. То је био додатак буџетираним трошковима за рад на самој миграцији. TSB је такође изгубио 49,1 милион фунти због финансијске преваре, док су се њени системи топили.

Накнада за клијенте је премашила 125 милиона фунти, а банка је морала да потроши 122 милиона фунти на запошљавање новог особља како би решили 204.000 жалби клијената. Извршни директор је поднео оставку, а компанија и даље решава проблеме две године након догађаја.

Загонетка ЦОБОЛ-а

Ствари не могу остати онакве какве јесу, али чињеница да се нешто по том питању ради је тешка. Ипак, једини начин да се ствари побољшају је спровођење контролисаних и пажљивих миграција на савремени софтвер и хардвер.

Да би се то постигло без прекида, губитка података и застоја, биће потребно савремено знање и новац, што је 50 одсто једначине. Друга половина је ЦОБОЛ знање и време. Нажалост, то су два састојка без којих смо скоро остали.

Можда ће нова врста ЦОБОЛ каубоја стићи у град.