Odgovorimo odmah u uvodu na pitanje postavljeno u naslovu, prije nego što prijeđemo na „raspisivanje“ detalja. Prema istraživanjima provedenim u zadnjih nekoliko godina, još uvijek se više od 70% poslovnih transakcija širom svijeta izvodi u rješenjima koja se temelje na preko 800 milijardi linija napisanih u COBOL-u! Sveukupna zamjena takvih rješenja zahtijevala bi financijske i ljudske resurse kakvih vjerojatno nema na našem planetu. Nije zato zapravo nikakvo čudo da se zato pravi djedica na području programskih jezika još uvijek čini prilično vitalan.
Prošlost…
Cobol se kao programski jezik pojavio sad već pradavne 1959. godine. Nastao je pod velikim utjecajem Grace Hopper, koju su tih godina nazivali „prvom damom na području softvera“. Osim što je pomogla u dizajniranju računala UNIVAC (vrlo bitnog u legendarnim NASA-inim operacijama u osvajanju Mjeseca), razvila je programski jezik FLOW-MATIC, koji je kasnije poslužio kao osnova za sam COBOL.
O koliko davnoj prošlosti je riječ, možda najbolje dočarava način na koji se tada programski kod pripremao za izvođenje na računalu. Programeri su instrukcije programskog jezika morali pisati na posebno pripremljene papirnate obrasce (prateća slika uz tekst). Nakon toga su se ti obrasci pripremali za korištenje na računalu na specijaliziranim uređajima koji su kao rezultat rada proizvodili posebne bušene kartice s istim kodom, ali u obliku razumljivom računalu. Bušene kartice su se preko odgovarajućih ulaznih jedinica učitavale u računalo, i tek tada je program bio spreman za izvođenje. O koliko mukotrpnom poslu je bila riječ u razvoju, ispravljanju i testiranju programskog koda, današnjim programerima je teško i zamisliti.
Grace Hopper: „Prva dama na području softvera“ u drugoj polovici prošlog stoljeća
Kad su se kasnije pojavili terminali s mogućnošću izravnog upisivanja i testiranja programskog koda, sve je postalo neizmjerno jednostavnije. Međutim, to još uvijek ne objašnjava zašto je COBOL postao toliko popularan na području razvoja poslovnih aplikacija.
Jedan od glavnih razloga treba tražiti u tome što je većina računalnih stručnjaka željela koristiti računala za rješavanje matematičkih i znanstvenih problema, odnosno za samo unapređivanje načina korištenja računala. Vjerojatno je oduvijek bilo puno zanimljivije (i više herojski) pisati programe za izračunavanje putanje letjelice za NASA-u, nego obračunavati kamatne stope na kredite. Zato su nastali programski jezici kao što su FORTRAN, LISP, C i njihovi nasljednici. To automatski znači da je COBOL na poslovnom području imao znatno manju konkurenciju drugih programskih jezika.
Istovremeno, za COBOL je od samih početaka provođena standardizacija u pogledu mogućnosti koja traje sve do danas (COBOL-60, COBOL-61, COBOL-68,
Pisanje prvih COBOL programa: U početku se koristio posebno pripremljeni papirnati obrazac za upisivanje naredbi
…sadašnjost…
Trenutno stanje u pogledu korištenja COBOL-a i njegovu ostavštinu opisali smo odmah na početku teksta. Probajmo sad odgovoriti na drugo zanimljivo pitanje. Piše li se danas još uvijek programski kod u COBOL-u kraj svih tih (prema COBOL-u) ultramodernih razvojnih alata?
Piše se, i to intenzivno. Prema nekim procjenama, preko milijardu linija koda godišnje! Postoje dva bitna razloga za to:
U nekakvom „starom“ sustavu napisanom u COBOL-u koji se i dalje intenzivno koristi, jednostavno je neophodno s vremena na vrijeme napraviti određene promjene, kako bi se podržala nova pravna regulativa ili poslovna praksa (na primjer, porezne promjene).
Treba omogućiti da vrijedni podaci „zatvoreni“ u COBOL sustavima postanu dostupni u novim tehnologijama za različite analize podataka (od R jezika do AI alata) ili za preuzimanje u nove sustave. U tom slučaju, nema druge nego upravo u COBOL-u napisati nekakvo sučelje za prezentaciju takvih podataka.
Naravno, današnji programeri za pisanje COBOL koda ne moraju više koristiti bušene kartice, nego mogu posegnuti za najmodernijim razvojnim sučeljima. Na primjer, u alatu dobro poznatom najnovijoj generaciji programera (Microsoft Visual Studio Code) dostupan je čitav niz proširenja kao podrška za COBOL.
Trenutna pozicija COBOL-a: I dalje se nalazi među 20 najpopularnijih programskih jezika (prema https://pypl.github.io)
…i budućnost
I tu sad stižemo do najvažnijeg problema u vezi s budućnošću COBOL-a. A to je nedostatak programera. Njih jednostavno nema, ili je riječ o ljudima koji su stari gotovo kao i sam programski jezik, to jest, spremni za penziju. Tako da nije ni čudo, da su upravo COBOL programeri postali jedna od najtraženijih i najbolje plaćenih profesija na IT području.
Razlozi za takvu situaciju su višestruki:
Novi programeri jednostavno ne žele učiti takav prastari programski jezik jer nije dovoljno „fancy“.
Većina sveučilišta je iz svojih programa ukinula COBOL.
Veliki broj programera nije baš previše ni zainteresiran za razvoj poslovnih aplikacija, nego se radije bave webom, mobilnim aplikacijama, AI i drugim sličnim trendovima.
Što se sad o budućnosti COBOL-a može predvidjeti na temelju toga? Prema mišljenju autora teksta, moguća su 4 scenarija. Vidjet ćemo koji će se od njih ostvariti u budućnosti. Ili se možda ipak pojavi i peti.
Ipak će se pojaviti novi programeri privučeni COBOL-u izvanserijskim primanjima (čisti odnos ponude i potražnje).
Razvit će se potpuno pouzdani „cross compiler“ koji će COBOL kod moći zamijeniti nečim puno modernijim i jednostavnijim za održavanje.
Odgovarajući AI sustavi će nastaviti s održavanjem ili nadopisivanjem COBOL koda.
Ako se ne dogodi ništa od ovoga nabrojenog od 1 do 3, prije ili poslije ćemo stići do nečeg puno goreg od Y2K (milenijskog buga) pred kojim su svi strepili, ali smo ga ipak uspjeli preživjeti. S COBOL-om bi sve to moglo ispasti i puno gore.