COBOL programmeertaal: Simpele uitleg en voorbeelden!

Wil jij meer weten over COBOL? Dan zit je hier helemaal goed! COBOL is een oude programmeertaal die stamt uit de jaren 60 van de vorige eeuw. Leeft de programmeertaal nog wel? Een klein tipje: Er is nog steeds vraag naar COBOL developers/ontwikkelaars! Aan het eind van het artikel geven we nog tips over hoe jij COBOL kan leren. Lees snel verder!

Wat is COBOL en wat kan je ermee?

COBOL is een programmeertaal die vooral veel wordt toegepast in de zakelijke wereld, denk hierbij bijvoorbeeld aan systemen van banken, overheidsinstellingen en luchtvaartmaatschappijen.

Het Amerikaanse ministerie van Defensie (United States Department of Defence) had in 1959 de opdracht gegeven om COBOL te gaan ontwikkelen. COBOL is de afkorting van Common Business-Oriented Language.

Assembler en Fortran waren in die tijd de programmeertalen die het meest werden gebruikt. Het doel was om van COBOL een betere en makkelijkere programmeertaal te maken dan Assembler en Fortran.

De programmeertaal COBOL moest voor programmeurs makkelijker zijn om te begrijpen. Ook moest het makkelijker worden om code te schrijven en te onderhouden. De eerste COBOL versie (COBOL-60) kwam uit in 1960.

Daarnaast moest COBOL op meerdere soorten computers kunnen werken. COBOL was jarenlang erg overheersend als één van de meeste populaire programmeertalen wereldwijd, maar verdween daarna langzaam uit het zicht:

Simpelweg werd COBOL steeds minder gebruikt om systemen mee te maken. Daarvoor werden de moderne programmeertalen gebruikt, zoals Java. COBOL werd steeds meer bestempeld als oude “stoffige” programmeertaal.

Daarnaast werd COBOL onder andere ook nog bekritiseerd vanwege de slechte ondersteuning voor gestructureerd programmeren. Systemen geschreven in COBOL zijn vaak niet makkelijk om te begrijpen. Dat ligt meer aan de structuur. De code zelf is vaak wel eenvoudig te begrijpen.

Echter is COBOL verre van een dode programmeertaal! Veel systemen van banken en overheidsinstellingen draaien nog op COBOL. Regelmatig zoeken ze nog COBOL developers om de boel draaiende te houden.

COBOL developers zijn tegenwoordig zeldzaam. Als je echt een goede COBOL developer/ontwikkelaar bent, kan je wel zo’n €90.000 per jaar verdienen!

Donald Duck met geld

Mogelijkheden met COBOL

We weten nu dat veel systemen in de zakelijk wereld nog steeds draaien op COBOL, zoals systemen van banken, overheidsinstellingen en luchtvaartmaatschappijen.

Daar zoeken ze geregeld nog steeds COBOL developers voor. In dat straatje moet je het ook eigenlijk gaan zoeken qua mogelijkheden.

Deze systemen worden vaak niet doorontwikkeld, maar vooral het onderhoud is belangrijk. Veel systemen die draaien op COBOL zijn verouderd en zijn toe aan een goede onderhoudsbeurt.

Leuk om te weten is dat je met COBOL ook een game kan maken:

Voorbeelden van banken en organisaties die gebruik maken van COBOL

In Nederland draaien tegenwoordig nog systemen van grote banken en organisaties op COBOL. Laten we gaan kijken naar een paar voorbeelden.

ABN Amro

ABN Amro is één van de grootste banken in Nederland. Ook in een aantal andere landen is ABN Amro actief en in totaal zijn er momenteel ongeveer 6,8 miljoen klanten.

Deze bank is dus zeker geen kleine jongen en er moet echt een goed systeem staan om alle klanten te kunnen helpen.

De kans is groot dat de back-end van de mobiele applicatie van ABN Amro ook nog (gedeeltelijk) op COBOL draait.

ABN Amro logo op muur

ING

Net zoals ABN Amro, is ook ING één van de grootste banken van Nederland. ING is actief in meer dan 40 landen en heeft momenteel ongeveer 39 miljoen klanten.

Vergeleken met ABN Amro is ING dus nog een stuk groter, maar ook ING vertrouwt er nog steeds op dat COBOL goed is om het systeem draaiende te houden.

Waarschijnlijk draait de back-end van de mobiele applicatie ook nog (gedeeltelijk) op COBOL.

ING bank logo

RDW

RDW is een organisatie binnen de Nederlandse overheid. Het registreren van gemotoriseerde voertuigen en rijbewijzen kunnen mensen in Nederland bij het RDW doen.

Het is voor te stellen dat veel mensen in Nederland gebruik maken van het systeem van het RDW om registraties af te handelen. COBOL houdt het systeem (gedeeltelijk) draaiende.

De back-end van het systeem draait gedeeltelijk op COBOL. Het RDW is vaak op zoek naar nieuwe COBOL developers.

Voor- en nadelen van COBOL

Grote systemen van onder andere verschillende grote banken en overheidsinstellingen draaien al tientallen jaren op COBOL. Dit betekent dat COBOL veel voordelen heeft. Maar net zoals bij elke programmeertaal, zitten er natuurlijk ook nadelen aan COBOL.

Voordelen

  • Het is niet lastig om te lezen en begrijpen wat het doet, COBOL lijkt veel op de “gewone” Engelse taal
  • COBOL kan grote hoeveelheden data snel verwerken
  • Systemen die tientallen jaren geleden gebouwd zijn met COBOL, kunnen tegenwoordig nog steeds werken
  • Het is niet moeilijk om te leren
  • Goede samenwerking met databases
  • Volledig compatibel met vorige versies
  • COBOL heeft een goed systeem voor foutmeldingen. Het oplossen van bugs is daardoor eenvoudiger.

Nadelen

  • De syntax is vrij langdradig
  • Het duurt een stuk langer om een COBOL programma te compileren dan een machine georiënteerde programmeertaal
  • De community van COBOL is niet groot
  • Er worden nauwelijks nog nieuwe systemen gebouwd met COBOL

Verschillen tussen COBOL en Java

We gaan kijken naar de verschillen tussen COBOL en Java, omdat beide programmeertalen oorspronkelijk zijn gemaakt om op meerdere computersystemen te kunnen draaien.

Hieronder vind je enkele verschillen tussen COBOL en Java:

  • COBOL is een procedurele programmeertaal en Java is een OOP (Object Oriented Programming/Object georiënteerd programmeren) programmeertaal. Sinds de COBOL-2002 versie heb je echter ook de mogelijkheid om OOP toe te passen in COBOL.
  • De community van Java is veel groter. Veel meer programmeurs maken gebruik van Java.
  • Om systemen te vernieuwen worden ze soms omgezet van COBOL naar Java, andersom niet
  • COBOL is meer ontwikkeld om systemen mee te bouwen voor de zakelijke wereld, zoals voor banken en overheidsinstellingen. Java wordt gebruikt voor veel meer doeleinden buiten systemen voor de zakelijke wereld, zoals bij het ontwikkelen van games, apps, Internet of Things toepassingen en webapps.
  • COBOL is makkelijker om te lezen dan Java, omdat COBOL meer op de “gewone” Engelse taal lijkt

COBOL codevoorbeelden

Het is interessant om naar codevoorbeelden van COBOL te kijken. Zo krijg je een iets beter beeld over hoe de syntax van de programmeertaal eruit ziet en hoe de code werkt.

Hello World!

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
    DISPLAY 'Hello World!'.
STOP RUN.

Bij een eerste kennismaking met een programmeertaal begin je meestal met een “Hello World!” voorbeeld. Voor een simpel “Hello World!” voorbeeld heb je toch aardig wat regels code nodig in COBOL.

In regel 1 staat IDENTIFICATION DIVISION. Dit is de eerste en enige “division” (Afdeling) die verplicht is in COBOL. De programmeur en compiler gebruiken deze “division” om het programma te identificeren.

In IDENTIFICATION DIVISION. staat een “paragraph” (Paragraaf) PROGRAM-ID. Dit is de enige verplichte “paragraph”. PROGRAM-ID. bevat de naam van het programma en die kan uit 1 tot 30 karakters bestaan.

In PROCEDURE DIVISION. staat alle logica van het programma. Hierin staan statements die de computer gaat uitvoeren. In dit geval voeren we het DISPLAY statement uit om “Hello World!” op het scherm te printen.

Er moet minimaal één statement in PROCEDURE DIVISION. staan. We sluiten het programma af met het STOP RUN. statement.

Variable (Variabele)

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
DATA DIVISION.
    WORKING-STORAGE SECTION.
        01 NAAM PIC A(6) VALUE 'Henk'.
PROCEDURE DIVISION.
    DISPLAY 'Naam: 'NAAM.
STOP RUN.

In regel 3 staat DATA DIVISION. In deze “division” staan variables (Variabelen) die in het programma gebruikt worden. WORKING-STORAGE SECTION. is bedoeld om tijdelijke variables in te zetten die in het programma gebruikt worden.

In regel 5 staat een variable en er wordt gelijk een waarde meegegeven. 01 is het “level number”. Het “level number” geeft het dataniveau in een record weer. Het maakt onderscheid tussen “elementary items” en “group items”.

NAAM is in dit geval de naam van de variable. PIC A(6) is de “Picture Clause”. De “Picture Clause” beschrijft de kenmerken van een “elementary item”.

De A in PIC A(6) staat voor alle alfabetische letters en de 6 tussen haakjes staat voor het aantal karakters die de variable kan bevatten. In dit geval kan de variable zes karakters bevatten en de karakters kunnen een letter uit het alfabet zijn.

VALUE wijst de waarde ‘Henk’ toe aan de variable. In regel 7 wordt de variable NAAM op het scherm geprint door het DISPLAY statement.

If-else statement

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
DATA DIVISION.
    WORKING-STORAGE SECTION.
        01 NUMMER1 PIC 9(2).
        01 NUMMER2 PIC 9(2).
PROCEDURE DIVISION.
    MOVE 24 TO NUMMER1.
    MOVE 36 TO NUMMER2.

    IF NUMMER1 IS GREATER THAN NUMMER2 THEN
      DISPLAY 'NUMMER1 is groter dan NUMMER2'
    ELSE
      DISPLAY 'NUMMER1 is kleiner dan NUMMER2'
    END-IF.
STOP RUN.

In dit stukje code zie je weer veel terugkomen van wat we in de vorige stukken code hebben besproken. Wat opvalt is dat de waardes van de variables nu worden toegewezen in de PROCEDURE DIVISION..

Via de MOVE statements worden de waardes aan de variables toegewezen. Het if-else statement is heel makkelijk te lezen als je Engels begrijpt.

Als variable NUMMER1 groter is dan NUMMER2, dan zie je ‘NUMMER1 is groter dan NUMMER2’ op het scherm. En als dat niet het geval is zie je ‘NUMMER1 is kleiner dan NUMMER2’ op het scherm.

Dit if-else statement laat mooi zien dat COBOL erg lijkt op de “gewone” Engelse taal.

Zelf COBOL leren

Hopelijk heb je een beter beeld gekregen van COBOL. Je weet nu ook een beetje hoe de syntax eruit ziet en hoe bepaalde code werkt. Misschien ben je wel enthousiast geworden om COBOL te gaan leren?

COBOL wordt tegenwoordig gezien als oude “stoffige” programmeertaal en weinig programmeurs willen het nog leren. Toch kan het interessant en zeer goed voor je portemonnee zijn om COBOL te gaan leren.

Vaak zoeken onder ander banken en overheidsinstellingen nog COBOL developers om hun systemen te onderhouden. COBOL developers zijn zeldzaam en worden daarom rijkelijk beloond. Dit kan wel oplopen tot €90.000 per jaar!

Het belangrijkste is natuurlijk wel dat je het leuk vindt om in COBOL te programmeren en niet alleen doet voor het geld. Anders ga je het niet lang volhouden.

Boeken

Op Amazon.nl staan de beste boeken om COBOL te leren voor beginners. Neem eens een kijkje, wie weet zit er een boek voor jou tussen.

Boeken zijn een laagdrempelige en goedkope manier om met COBOL te beginnen. Je hebt weinig te verliezen.

Pluralsight

Ben je niet zo van de boeken? Op Pluralsight staan geweldige cursussen over COBOL voor beginners. Deze cursussen zijn ideaal voor beginners om COBOL te gaan leren. Je hebt de mogelijkheid om een echt COBOL programma te maken.

Pluralsight logo

In “Pluralsight review en ervaringen” lees je meer over het platform. Het is zelfs mogelijk om 10 dagen gratis gebruik te maken van het platform.

Na de cursussen zou je zelf verder kunnen experimenteren met COBOL. Je hebt dan de kennis om gave projecten te bedenken en uit te voeren.

Op Pluralsight staan ook genoeg gave cursussen over de meer populaire programmeertalen, zoals Java en Python. De cursussen zijn zowel voor beginners als gevorderden.

Coursera

Coursera heeft ook een hele goede cursus over COBOL, namelijk “COBOL Programming with VSCode”. De cursus is ideaal voor beginners.

In “Coursera review” lees je meer over dit geweldige online leerplatform. Ook op Coursera staan er veel meer cursussen waarin je meer kan leren over de meer populaire programmeertalen.

Wil jij de uitdaging aangaan en COBOL leren? Het zal zeker goed op je CV staan en je zal rijkelijk beloond worden. Ga lekker aan de slag!

Heb je nog vragen en/of opmerkingen? Laat dan hieronder een reactie achter of neem contact op.

8 gedachten over “COBOL programmeertaal: Simpele uitleg en voorbeelden!”

  1. Wij hebben in de jaren zeventig zeer veel de Cobol taal gebruikt.Voor een groot- en kleinhandel groenten en fruit was Cobol zeer goed bruikbaar.Wij hebben destijds een winkelkassa gemaakt in Cobol die vele jaren gedraaid heeft.Een groot voordeel van de taal was dat bij het compileren de fouten in het programma getoond werden.

    Beantwoorden
  2. Had ik het maar geleerd in de jaren 80, toen ik bezig was met AMBI. De laatste module heb ik niet meer gedaan, omdat ik koos voor boekhouding. Had nu na mijn pensioen nog mooi bij kunnen verdienen. Och nostalgie gelukkig. Maar laas ook een artikel hierover in de Volkskrant. Dan schrik je wel erg, als je leest dat nog veel IT op COBOL draait. Hebben we dan geld verdienen boven innovatie gesteld tijdens 40 jaar neoliberalisme?

    Beantwoorden
    • Hoi Guido,

      Dan had je zeker nog mooi kunnen bijverdienen ;-).

      Ik denk dat er ook gedacht werd dat COBOL uiteindelijk vervangen zou gaan worden door andere programmeertalen, en mede daardoor weinig aan onderhoud is gedaan.

      Dat is dus schijnbaar niet gedaan, veel draait nog op COBOL, en dan is er nu een probleem. Op scholen wordt COBOL niet meer aangeleerd, al lang niet meer volgens mij.

      Dus je zal COBOL toch nog moeten gaan vervangen of meer COBOL developers gaan opleiden. COBOL vervangen is ook niet 1,2,3 gedaan, dus verstandig om eerst meer COBOL developers op te leiden denk ik.

      Gr. Bas

      Beantwoorden
      • Hoi Bas,

        Bedankt voor je aanvulling over COBOL. Op de Zeevaartschool in Vlissingen (1975-1978) was mijn eerste echte kennismaking met computers het maken van een manoeuvre van een schip. Dit met Hollorith kaarten gedaan :). Na mijn vaartijd wat diploma’s gehaald o.a. MEAO informatica. Examenopdracht in BASIC met cassetterecorder een verlofprogramma gemaakt. Het werkte ook nog! Tja dan heb ik zoals reeds gezegd de keuze gemaakt voor het boekhouden.
        Excel erbij geleerd. Laatste 15 jaar van mijn werkbaar leven was ik beheerder voor Profit van AFAS. Fijn programma om mee te werken en een fijne club met een fantastische CEO, Bas van der Veldt. Excel heb ik niet op programmeer niveau gedaan. Enfin nu heb ik tijd om mij te verdiepen in muziek op oa een synthesizer en keyboard. Daar zit natuurlijk ook wat techniek achter.
        Fijne dag/avond nog.

        Beantwoorden
  3. Hoorde vandaag dat COBOL nog steeds erg gewild is.
    Ben ook ooit aan AMBI begonnen.
    Momenteel geef ik de voorkeur aan Perl maar denk dat COBOL ook wel handig zou zijn. Geen idee hoe lang ze nog mensen nodig hebben die COBOL kunnen.

    Beantwoorden
    • Hoi Johan,

      COBOL gaat waarschijnlijk uitgefaseerd worden, maar dit gaat nog vele jaren kosten. Die vele jaren zijn er toch nog genoeg COBOL developers nodig om de belangrijke systemen te kunnen onderhouden.

      Als je echt helemaal in COBOL duikt en er goed in wordt, kan je denk ik nog wel vele jaren een mooie baan hebben die goed wordt beloond.

      Gr. Bas

      Beantwoorden
  4. Als een vacature is voor een Cobol programmeur dan wordt er gelijk HBO en een duizendpoot gevraagd. Ik vraag mij af of dit wel in deze tijd realiseerbaar is. Toen ik nog werkte was C# het helemaal en de rest een vies woord. Ik heb cobol in diverse vormen geprogrammeert, basic, C#, C++, java, VBA, foxpro (wie kent dit nog), android, kotlin etc. Het gaat allemaal een beetje op elkaar lijken maar wie een goed gevoel heeft voor het maken van een leesbaar programma heeft al deze eisen niet nodig. Al doende leert men dus mensen: gewoon doen

    Beantwoorden

Plaats een reactie