Home Nieuws COBOL is het asbest van de programmeertalen

COBOL is het asbest van de programmeertalen

6
0
COBOL is het asbest van de programmeertalen

Vroeg in de Covid-19-pandemie deed de gouverneur van New Jersey een ongebruikelijke bekentenis: hij had geen COBOL-ontwikkelaars meer. De werkloosheidsverzekeringssystemen van de staat waren geschreven in de 60 jaar oude programmeertaal en moesten worden bijgewerkt om de honderdduizenden claims te kunnen verwerken. Het probleem was dat maar weinig staatswerknemers wisten hoe ze dat moesten doen. En de crisis reikte verder dan New Jersey, slechts een van de vele staten die afhankelijk waren van deze logge systemen. Volgens een ruwe berekening kosten de inefficiënties van COBOL het Amerikaanse bbp 105 miljard dollar in 2020.

Je zou kunnen denken dat New Jersey hierna zijn systeem zou hebben vervangen – en dat Covid de laatste zucht van COBOL was. Niet helemaal. Het nieuwe werkloosheidssysteem van de staat bracht een aantal verbeteringen in de kwaliteit van leven met zich mee, maar aan de achterkant werd het nog steeds mogelijk gemaakt door een mainframe waarop de eeuwenoude taal draaide.

COBOL, een afkorting van Common Business-Oriented Language, is de meest gebruikte computertaal in de geschiedenis. Van de 300 miljard regels code die in het jaar 2000 waren geschreven, was 80 procent in COBOL. Het wordt nog steeds op grote schaal gebruikt en ondersteunt een groot aantal overheidssystemen, zoals motorvoertuigregistraties en werkloosheidsverzekeringen; op een bepaalde dag kan het iets in de orde van grootte aan Een waarde van 3 biljoen dollar van financiële transacties. Ik beschouw COBOL als een soort digitaal asbest, dat ooit bijna alomtegenwoordig was en nu ongelooflijk, gevaarlijk moeilijk te verwijderen is.

COBOL werd voor het eerst voorgesteld in 1959 door een commissie bestaande uit het grootste deel van de Amerikaanse computerindustrie (waaronder Grace Hopper). Het riep op tot “specificaties voor een gemeenschappelijke zakentaal voor automatische digitale computers” om een ​​groeiend probleem op te lossen: de kosten van programmeren. Programma’s werden op maat geschreven voor specifieke machines, en als je ze op iets anders wilde draaien, betekende dat een vrijwel totale herschrijving. De commissie benaderde het ministerie van Defensie, dat het project graag omarmde.

Het ontwerp van COBOL onderscheidde het van andere talen, zowel toen als nu. Het was bedoeld om in gewoon Engels geschreven te worden, zodat iedereen, zelfs niet-programmeurs, het zou kunnen gebruiken; symbolische wiskundige notatie werd pas na veel discussie toegevoegd. De meeste versies van COBOL staan het gebruik van honderden woorden toe (Java staat slechts 68 woorden toe), waaronder ‘is’, ‘dan’ en ’to’, om het schrijven gemakkelijker te maken. Sommigen hebben zelfs gezegd dat COBOL bedoeld was om computerprogrammeurs te vervangen, die in de jaren zestig bij veel bedrijven een zeldzame plaats innamen. Ze waren meesters van een technologie die de meeste mensen nauwelijks konden bevatten. De ontwerpers van COBOL hoopten ook dat het zijn eigen documentatie zou genereren, waardoor ontwikkelaars tijd zouden besparen en het is op de lange termijn gemakkelijk te onderhouden.

Maar wat betekende het eigenlijk om leesbaar te zijn? Programma’s zijn geen boeken of artikelen; het zijn voorwaardelijke instructiesets. Hoewel COBOL de complexiteit van een enkele coderegel kon destilleren tot iets dat iedereen kon begrijpen, viel dat onderscheid uiteen in programma’s die duizenden regels besloegen. (Het is net een montagehandleiding van Ikea: elke stap is eenvoudig, maar op de een of andere manier komt het ding nog steeds niet samen.) Bovendien werd COBOL geïmplementeerd met een stukje logica dat steeds meer werd veracht: de GO TO-instructie, een onvoorwaardelijk vertakkingsmechanisme dat je van de ene sectie van een programma naar de andere deed vliegen. Het resultaat was ‘spaghetticode’, zoals ontwikkelaars graag zeggen, waardoor zelfdocumentatie overbodig werd.

Veel computerwetenschappers hadden vanaf het begin problemen met COBOL. Edsger Dijkstra had er een beroemde hekel aan en zei: “Het gebruik van COBOL verlamt de geest; het onderwijs ervan moet daarom als een strafbaar feit worden beschouwd.” Dijkstra had eveneens een hekel aan de GO TO-verklaring, met het argument dat programma’s hierdoor bijna onmogelijk te begrijpen waren. Er was sprake van een zekere mate van snobisme: COBOL werd vaak neergekeken als een puur utilitaire taal die bedoeld was om saaie problemen op te lossen.

Jean Sammet, een van de oorspronkelijke ontwerpers, zag het anders: de taal had simpelweg de ingewikkelde taak om ingewikkelde zaken weer te geven, zoals de sociale zekerheid. Of zoals een andere verdediger schreef: “Helaas zijn er te veel van dergelijke zakelijke applicatieprogramma’s geschreven door programmeurs die nooit het voordeel hebben gehad van gestructureerde COBOL-onderricht.” Goede COBOL was inderdaad zelfdocumenterend, maar veel hing af van de specifieke programmeur. Fred Gruenberger, een wiskundige bij de Rand Corporation, zei het zo: “COBOL is, in de handen van een meester, een prachtig hulpmiddel – een zeer krachtig hulpmiddel. COBOL, omdat het ergens door een laaggeplaatste klerk zal worden afgehandeld, zal een ellendige puinhoop zijn.”

Nieuwsbron

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in