← Alle essays

Dezelfde magie, andere gereedschappen

Toen ik twaalf was, voelde programmeren als magie. Dertig jaar later, werkend met AI aan oude code, voel ik het opnieuw.

Toen ik twaalf was, kregen we thuis onze eerste computer. Een Compaq Deskpro 386, een afdankertje van het bedrijf van mijn vader. Het stond op zolder, een enorme CRT-monitor gloeiend in het schemerige licht, zacht zoemend, wachtend.

Binnen een week had ik hem kapotgemaakt. Iets verwijderd wat ik niet had moeten verwijderen, waarschijnlijk. Mijn vader nam hem mee terug naar kantoor, en een paar dagen later kwam hij terug, gerepareerd, zonder vragen. Toen realiseerde ik me dat ik echt moest begrijpen wat ik aan het doen was.

Ik begon middagen door te brengen in de plaatselijke bibliotheek. Niet voor school, maar voor de computerboeken. MS-DOS-handleidingen. BASIC-tutorials. Alles met code erin. Ik leende ze en verlengde ze eindeloos, altijd hetzelfde kind met dezelfde stapel computerboeken.

Op een dag vond ik een boek over Pascal. Ik weet nog dat het een blauwe kaft had. Ik nam het mee naar huis en typte het eerste voorbeeldprogramma over. Het werkte niet. Ik had ergens een typfout gemaakt. Ik deed er een uur over om hem te vinden. Toen ik het programma eindelijk liet draaien en de uitvoer zag op die monitor met groene letters, was ik verkocht.

Met een vriend begon ik dingen te bouwen. Galgje. Een DOS-launcher die onze computer professioneel liet aanvoelen. Tekstgames die waardeloos waren, maar wel van ons. We hadden geen idee wat we aan het doen waren. We wisten niets van algoritmes of datastructuren of al die dingen waarvan ik later zou leren dat ze belangrijk waren.

Maar het voelde als magie.

Je typt iets. De computer doet het. Je typt iets anders. Hij doet dat ook. Voor een twaalfjarige was dit magie. Alles leek mogelijk. Dit was het gevoel dat alles gebouwd kon worden als je maar uitvogelde hoe.

Dertig jaar later ben ik er nog steeds naar op zoek.

Oude code openen

Een tijdje geleden opende ik een project uit 1998. Code uit de tijd dat Google net was opgericht, toen de meeste mensen nog nooit van het internet hadden gehoord.

Vijfentwintig jaar. In tech zou dat oeroud moeten zijn. Achterhaald. Onleesbaar.

De code was herkenbaar. Niet perfect. Ik zou nu andere keuzes maken. Maar begrijpelijk. De structuur klopte nog steeds. De logica was helder. Na een kwartier wist ik precies wat het deed en waarom.

We nemen aan dat code veroudert. Maar goede code veroudert als een goed boek: de ideeën blijven helder, zelfs terwijl de wereld eromheen verandert.

Wat overleeft

We zijn gek op alles wat nieuw is. Elke tech-conferentie gaat over de volgende grote doorbraak. Elk pitchdeck belooft disruptie.

Maar kijk naar wat de wereld daadwerkelijk draaiende houdt.

Een banksysteem in Centraal-Europa verwerkt dagelijks miljoenen transacties. De kern is gebouwd in Delphi eind jaren negentig. Ik heb de code gezien. Er niet zo lang geleden aan gewerkt. Het is niet elegant naar moderne maatstaven. De architectuur volgt conventies die niemand meer gebruikt. Het meeste commentaar is in een taal die ik niet spreek.

Maar vierentwintig uur per dag verplaatst het geld. Salarissen worden betaald. Hypotheken worden verwerkt. De economie van een hele regio stroomt door code die ouder is dan de mensen die misschien worden ingehuurd om het te herschrijven.

Niemand schrijft enthousiaste blogposts over deze systemen. Ze winnen geen prijzen. Geen startup belooft ze te disrupten.

Maar ze werken. Dag na dag, jaar na jaar. Dat is geen falen om te moderniseren. Dat is succes.

Onlangs las ik over een startup die beloofde "legacy code te elimineren met AI." Alsof oude code een ziekte is. Dit is wat ze niet begrijpen: AI maakt oude code niet waardeloos. Het maakt oude code waardevoller.

Oude code is als een archeologische opgraving. Elke laag vertelt een verhaal. Waarom bestaat deze functie? Omdat een klant in 2003 iets nodig had wat niemand had voorzien. Waarom gedraagt die berekening zich anders op dinsdagen? Omdat een bank ergens vroeg sluit en afwikkelingen anders werken. Die kennis was er altijd, begraven in de logica. AI geeft ons eindelijk de gereedschappen om het op te graven.

Ik heb dit eerder gezien

Ik ben altijd al gefascineerd geweest door nieuwe technologie. Client/server in de jaren negentig, toen fat clients met databases praatten en iedereen zeker wist dat de mainframe dood was. Het web, toen browsers opeens dingen konden die alleen desktopsoftware voorheen kon. Mobiel, toen iedereen een computer in zijn zak kreeg. Cloud, toen het draaien van je eigen servers ouderwets begon te voelen.

Elke golf was spannend. Elke had echte waarde. Maar ik heb nooit de hype geloofd dat een ervan alles zou vervangen wat ervoor kwam. Ik heb te veel systemen te veel revoluties zien overleven. De mainframe stierf niet uit. Desktopsoftware is er nog steeds. De client/server architectuur draait nog steeds bij genoeg bedrijven. Nieuwe technologie bouwt bovenop oude technologie, vervangt het zelden.

Maar AI was anders. Vanaf het eerste moment was ik verkocht, en in plaats van afwachten en toekijken van een afstand, dook ik er meteen in.

De magie keert terug

Werken met AI aan code, oud of nieuw, geeft me hetzelfde gevoel als toen ik twaalf was.

Vorige maand was ik bezig met het debuggen van een systeem dat sinds 2001 draait. De oorspronkelijke ontwikkelaar is jaren geleden met pensioen gegaan. De documentatie was schaars. De code zat vol mysterieuze bedrijfsregels die niemand meer echt begreep.

Vroeger had dit weken van zorgvuldig lezen betekend. Executiepaden met de hand traceren. Mentale modellen bouwen van wat elke functie deed en waarom. Het is vakwerk, maar traag.

In plaats daarvan vroeg ik de AI om een bepaalde berekening uit te leggen. Binnen seconden traceerde hij de logica, identificeerde de bedrijfsregel, en vond zelfs een gerelateerde opmerking drie modules verderop die de historische context uitlegde.

Ik kan vragen stellen over systemen die ik niet heb geschreven. Logica traceren door tientallen jaren aan wijzigingen. Beslissingen begrijpen die zijn gemaakt door ontwikkelaars die lang geleden zijn vertrokken. Het is alsof je een gesprek voert met de code zelf.

De startups willen alles weggooien en opnieuw beginnen. Maar de echte kans is het tegenovergestelde: oude systemen slimmer, toegankelijker, krachtiger maken. Niet het verleden vervangen, maar het eindelijk kunnen begrijpen.

De twaalfjarige in mij herkent dit gevoel. Je typt iets. De computer doet iets dat onmogelijk lijkt. Magie.

Legacy

Legacy heeft een negatieve klank in zich. Maar dat klopt niet. Legacy betekent erfenis. Iets dat is nagelaten. Iets waardevols genoeg om te bewaren.

De meeste bedrijven beseffen niet wat ze hebben. Ze zitten op een goudmijn van opgebouwde kennis, gecodeerd in systemen die al tientallen jaren echte problemen oplossen. De code is geen last. Het is een bezit dat wacht om ontsloten te worden.

Daar word ik enthousiast van. Niet alleen de technologie, maar de mogelijkheid om te ontsluiten wat er altijd al was.

AI geeft ons iets terug wat we kwijt waren geraakt: de mogelijkheid om te begrijpen wat anderen hebben gebouwd, en daarop voort te bouwen. Niet het verleden weggooien, maar het eindelijk kunnen lezen.

De magie ging nooit over de technologie zelf. Het ging over iets maken dat er nog niet was.

Dertig jaar later voel ik het opnieuw. Andere gereedschappen. Dezelfde magie.

Marco Geuze

Marco Geuze

30+ jaar software bouwen. Oprichter van GDK Software.

Meer over mij →