Programmeur Tom Jordell plaatste een zeer lezenswaardig stuk op Medium naar aanleiding van gesprekken met zijn moeder, die mainframes programmeerde bij een grote Europese bank. Het stuk geeft een kijkje in de infrastructuur van deze financiële instituten die met IBM-mainframes en COBOL werken - en waarom die twee voorlopig niet verdwijnen.

Trage databases

Het bezwaarlijke issue zit hem niet in de programmeertaal, maar in de stokoude jaren 60-databases die ermee worden aangestuurd. Query's duren uren in plaats van milliseconden en er wordt dan ook bij voorkeur 's nachts naar de database geschreven. Daarom gaat er bij oude systemen vaak een nacht overheen voordat overschrijvingen zijn voltooid, legt Jordell uit.

Voor de databases is COBOL overigens niet eens meer nodig, sinds een jaar of tien ondersteunen die ook talen als Java en XML. De voornaamste reden dat banken overstappen op andere talen is niet omdat COBOL minder geschikt is, maar omdat er een gebrek aan programmeurs is die vaardig zijn in de taal. De vergrijzing slaat wat dit betreft toe en moderne programmeurs leren liever iets populairders als Node.js of Scala, waarbij er meer kans is dat er over 10 jaar een gezonde vraag naar is.

Herculestaak

Technisch gezien is er geen reden om over te stappen, zolang de legacy-databases gebruikt blijven worden. Daar komt ook nog eens bij dat er veel decenniaoude code rondhangt waarvan de originele programmeur allang is verdwenen. Het is risicovol om de programmatuur te wijzigen als er goede documentatie ontbreekt.

Volgens Jordell zijn verder IT'ers bij banken huiverig om nieuwere systemen/talen in te zetten, omdat deze niet toereikend worden geacht voor de enorme omgeving die in een halve eeuw is gegroeid.

Het wordt een Herculestaak om al die systemen die op elkaar inhaken bij verschillende banken, semi-overheden en andere partijen te vervangen en tegelijkertijd stabiel te houden. Of zoals je regelmatig hoort in de IT: het is alsof je een vliegtuigmotor tijdens de vlucht wilt vervangen.