In de zomer van ’68 zag de ANSI-standaard X3.23-1968, beter bekend als Cobol, het licht. De 40-jarige programmeertaal geniet nog steeds de voorkeur bij grote transactionele systemen. Immer springlevend met één schaduwkant: het aantal beoefenaars loopt terug. Het werd een stil feestje.

Het is de tijd van ponskaarten, van machinetaal, van de eerste commerciële computer (Univac) in wording. Het is de tijd dat wiskundige Grace Hopper het programmeerwerk (destijds een beproeving) een elegantie meegeeft om in begrijpelijk Engels een applicatie te bouwen. Gewoonlijk zijn programma’s in die tijd een onbegrijpelijke reeks wiskundige symbolen. Het is de tijd dat velen nog denken dat vijf computers wel de hele wereldbehoefte afdekt. Een tijd dat programmeertalen zijn gebonden aan hardware.

In 1959 ontstaat, gebaseerd op het harde werk van ‘Amazing Grace’, Cobol: Common Business Oriented Language. Deze programmatuur is wél platformonafhankelijk en in ‘gewone mensentaal’ geschreven. Aan de code zelf is af te lezen wat het programma uitvoert; hetgeen met talloze regels cijfers en andere wiskundige symbolen niet het geval is. Het spreekt voor zich dat deze eigenschap een zegen is voor het onderhoud van programmatuur, je ziet immers in de code waar het over gaat.

En typisch voor Cobol: een regel mag niet meer dan 80 tekens bevatten. Dit heeft te maken met de breedte van de ponskaarten.

Patronen

Veertig jaar oud en nog steeds springlevend in de meeste rekencentra. Dat is welhaast een ongepastheid in deze industrie die zich kenmerkt door hype-cycles.

Onder meer de Nederlander Edsger W. Dijkstra bleek niet erg ingenomen met de programmeertaal. “Het gebruik van Cobol verminkt de geest; het onderwijzen ervan zou daarom dan ook moeten worden beschouwd als een criminele daad”, is één van zijn meest geciteerde uitspraken.

Waaraan is het succes (want dat kun je toch wel stellen met wereldwijd nog steeds 200 miljard regels code in productiesystemen) dan toch te danken? Daar zijn verschillende redenen voor. Met de natuurlijke taal kan het niet meer te maken hebben, want jongere talen bedienen zich ook al lang niet meer van ‘machinecode’. Steven Klu-sener, wetenschapper bij de Vrije Universiteit Amsterdam, vindt het lastig te begrijpen waarom Cobol zo’n stabiele factor is al die jaren. “Een mogelijke verklaring is dat men in de Cobol-wereld gebruik maakt van wat nu bekend staat als design/coding patterns.”

Cobol-opdrachten moeten consistent corresponderen met het bijbehorende machinecode patroon. “Daardoor zijn Cobol-applicaties naar verhouding redelijk gemakkelijk – zelfs deels geautomatiseerd – te onderhouden door anderen. Momenteel ben ik op de universiteit bezig om voor een grote financiële instelling dergelijke patronen in kaart te brengen. Punt is namelijk dat de Indiase offshore-partner deze patterns (aanvankelijk) niet kende.”

Vervanging veel te duur

Er zijn natuurlijk meerdere redenen voor de populariteit van Cobol. Zo is het, met zo’n lange geschiedenis, de meest gedocumenteerde programmeertaal ter wereld. En er zijn legio ‘best practices’ waaruit mensen kunnen putten. Met deze taal spreken we van ‘bewezen technologie’. Bij Ordina heeft men nog steeds veel strategische klanten die gebruik maken van Cobol. Zo heeft bijvoorbeeld de Rabobank zijn Cobol-beheer uitbesteed aan deze dienstverlener. Alexander Bosschaart is principal consultant bij Ordina en praat vanuit de dagelijkse praktijk over de grote belangstelling die de taal nog steeds geniet.

“Als het om grote, transactionele systemen gaat, dan is Cobol efficiënt en het best te onderhouden. Bovendien is – vooral bij de financiële instellingen – alles ooit begonnen met Cobol. Dat zijn enorm grote systemen geworden en daardoor zijn ze moeilijk te vervangen. Dit is eigenlijk ook niet nodig, want de processen blijven in de basis hetzelfde. De regels voor bijvoorbeeld het uitrekenen van rentes veranderen niet”, legt Bosschaart uit. Toch zijn veel bedrijven bezig hun legaatsystemen te vervangen.

Een Cobol-systeem met tienduizend functiepunten (een maatstaf voor de omvang van een programma, gebaseerd op de hoeveelheid it-functionaliteit) is geen uitzondering. “Dat vervang je niet zo maar”, aldus Bosschaart. “Een simpele rekensom leert dat vervanging van alle Cobol-programmatuur door een andere programmeertaal grofweg uitkomt op zesduizend miljard euro. Dat betekent dat we nog lange tijd Cobol-programmatuur blijven houden.”

Mengsel van programmeertalen

In deze tijd van het uitbesteden van (onderdelen van) de it-dienstverlening, doet Ordina veel assess-ments op Cobol-systemen om een indruk te krijgen van de kwaliteit en onderhoudbaarheid van een applicatie. In het kader van de onderhoudbaarheid worden regelmatig delen van applicaties vervangen of opnieuw gebouwd.

Uit die code assessments blijkt dat de kwaliteit van de Cobol-code in zijn algemeenheid als ‘goed’ valt te kenschetsen. “Maar er zijn natuurlijk altijd systemen die in de loop der jaren veel zijn gepatcht en slecht zijn gedocumenteerd,” aldus de dienstverlener. Ook in dat geval is het vaak goedkoper om te revitaliseren dan de programmatuur te vervangen.

Overigens ziet hij – wereldwijd – niet veel nieuwbouw en zeker al niet van grote systemen. Wel is er veel aandacht voor de koppeling van grote Cobol-systemen met de ‘voorkant’ die veelal in Java of .NET is geschreven. Bosschaart vindt dat een mengsel van programmeertalen tot goede resultaten kan leiden. Cobol voor de hoogfrequente, transactionele systemen en bijvoorbeeld Java of .NET voor de ‘webwinkels’. “Je bouwt een wolkenkrabber toch ook niet met baksteen? Daar gebruik je staal en beton voor; en eventueel baksteen als gevelversiering.”

Schaarste aan Cobol-ontwikkelaars

Er is dus nog steeds behoefte aan Cobol-programmeurs, vaak denigrerend Cobol-krassers genoemd. “Er zit wel enige waarheid in die schimpnaam, want een nadeel is dat bij Cobol altijd de nadruk is gelegd op het programmeerwerk, het schrijven, en er veel te weinig aandacht was voor het bedrijfsbelang dat een programma dient, voor de mensen die ermee moeten werken. Die bredere visie zie je bij modernere talen wel terug”, meent Bosschaart.

Hij en Klusener maken zich wel zorgen over de vergrijzing van de groep Cobol-ontwikkelaars. Cobol wordt niet meer onderwezen op universiteiten en hogescholen, waardoor er geen sprake meer is van een evenwichtige (leeftijds)verdeling binnen het totale aanbod aan Cobol programmeurs. “De schaarste zal het op termijn weer aantrekkelijk maken om Cobol te gaan leren”, verwacht Bosschaart. Ordina is van plan om binnenkort weer te beginnen met een Cobol-opleiding.

Teus Molenaar

Fout opgemerkt of meer nieuws? Meld het hier

Partner Content