Ja det kan man ju undra. Både programmeringsspråket Cobol och plattformen Mainframe med sina ursprung från 1960-talet kan väl kännas väldigt förlegade om man bara kollar på ytan. Går man ner på djupet kommer man inse att det oftast finns en till backend. Du som är backend-utvecklare i C# eller Java känner nog igen det. Det finns en nivå längre ner som håller den största delen av affärslogiken och det har den gjort sedan bankerna skulle digitaliseras första gången. Betyder det att Cobol är hett? Tittar man på Stack Overflows Developer Survey från 2021 blir man nog kanske allt annat än övertygad. Med bara 0,53% av de ca 83000 svarande listas COBOL på plats 38 av 38 under Most Popular Technologies. Varför det är på det viset finns det nog många svar på. Bland annat kan det bero på att den generation som i princip började bygga applikationer i COBOL fortfarande gör det idag. Dessutom är språket i sig inte allt för avancerat. Tanken med språket var att det skulle läsas och skrivas som engelska och i princip vem som helst skull förstå det. Det betyder dock inte att det inte finns många komplicerade applikationer, som byggts på i över 20 år i många fall. Det roliga är ju att det ofta är en direkt avspegling av affärslogiken som verksamheten önskar. Facit skrivs där och idag när man jobbar i agila verksamheter är ju verksamheten och utvecklarna i ett ständigt utbyte kring hur affärslogiken ska fungera.
Det är så det fungerar idag på våra banker, myndigheter och försäkringsbolag. Faktum är att det finns mer Mainframe och Cobol där än man kan förstå. Om man tittar globalt så uppskattar Micro Focus att det finns över 800 miljarder rader COBOL-kod som fortfarande driver kritiska verksamheter. Cobol-koden körs ofta på IBMs Mainframe-maskiner(se Figur 1). Precis som vi nämnt tidigare så är det ofta stora bolag med en lång historia som använder Mainframe. Här kan man läsa om lite statistik IBM släppte 2020 om hur vanligt det är med Mainframe i stora organisationer. En av orsakerna till detta är att IBMs strategi kring sina Mainframes och applikationerna som byggs på dem är att de alltid ska vara bakåtkompatibla. Ett utryck vi hört myntats är ”Write once, run forever”. Och det stämmer till stor del. Självklar har mindre justeringar behövts göras i vissa fall, men faktum är att vi nu kan gå in i en modul som skrevs 1986, kolla på den, fascineras av den och bli imponerade av att den faktiskt körs än idag och det är inget konstigt med det.
Finns det några nackdelar med att använda en så här pass förlåtande plattform som Mainframe i kombination med COBOL? Självklart! Man ska absolut vara medveten om att det som utvecklats har förädlats och byggts på löpande under alla år och i många fall kanske utan att man reviderat eller refaktorerat den ursprungliga applikationen. Det betyder att det ofta finns stora tekniska skulder i systemen, men det är nu det blir intressant.
Det är som så att Mainframe-plattformen och Cobol är här för och stanna – de utgör grunden i systemen och gör det dom ska. Lägg till på det att Mainframe-maskinen är väldigt kraftfull. Det leder till att det är väldigt svårt att försvara att man bygger/köper in ett nytt system som gör samma sak, men kanske inte ens lika snabbt. Vad är det då som är spännande? Jo för nu sker det en verklig likformning av Mainframe med de teknologier som de distribuerade systemen utanför använder. En hel del försöker bygga DevOps-lösningar utanför Mainframe för att harmonisera mer med hur resten av verksamheten sköter sina byggen och versionshantering. Dessutom använder de flesta större arbetsplatser antingen Eclips eller Visual Studio i sin Cobol-utveckling. Man kan även köra Linux på stordatorn. Ett annat häftigt initiativ är något som heter ZOWE, vilket är ett API för att anropa stordatorn och använda dess applikationer och tjänster med egentligen vilket programmeringsspråk som helst. Det betyder att de som lär sig Mainframe och COBOL, som redan har en programmeringsbakgrund i distribuerade system(Windows eller Linux) kommer vara väldigt eftertraktade i framtiden. Gör därför en smart grej. Lär dig Mainframe och COBOL. Då kommer du få vara med på en häftig resa!
Vill du börja programmera i Cobol? Då är kursen COBOL Introduktion perfekt som start.