0%

Hoofdstuk 4

Programmeren in het tijdperk van AI

Wat AI bij programmeren echt kan

AI kan bruikbare code schrijven. Het kan een programma uitleggen, tests opstellen, een dozijn bestanden tegelijk aanpassen, de testsuite uitvoeren, de fouten lezen en ze oplossen. Ik gebruik het elke dag en vind dat iedereen die leert programmeren dat ook zou moeten doen.

Maar als AI dat allemaal kan, waarom zou je dan nog tijd steken in leren programmeren?

Wat de hulpmiddelen nu kunnen

Dit vakgebied verandert razendsnel. Tegen de tijd dat je dit leest, kan deze informatie alweer achterhaald zijn. Maar halverwege 2026 is dit de stand van zaken.

Laten we beginnen met de prompt: een verzoek dat je aan een AI-hulpmiddel geeft. Wat je daarop terugkrijgt, is enorm uitgebreid.

Codeaanvulling stelt tijdens het typen voor wat er zou kunnen volgen. Het bestaat al lang, maar is door AI krachtiger geworden. In plaats van een woord kan het nu een hele functie aanvullen: een benoemd stukje werk in een programma.

Een gesprek met AI legt een onbekende codebase uit, bespreekt een aanpak of zoekt uit waarom iets misging. Dat is een prachtige manier om een project te leren kennen dat je niet zelf hebt geschreven. Een gegenereerde wijziging is code die het hulpmiddel voorstelt voor een of meer bestanden.

En dan is er de vorm die het snelst is veranderd. Een programmeeragent krijgt een doel en toestemming om eraan te werken: het project lezen, een plan maken, bestanden aanpassen, opdrachten en tests uitvoeren, lezen wat er misging en het opnieuw proberen. Die kan lange tijd zonder jou werken en een volledig wijzigingsvoorstel teruggeven.

Vooral die laatste mogelijkheid is sterk gegroeid. Een duidelijk afgebakende wijziging kun je nu uitbesteden en daarna beoordelen. Hoeveel tijd dat bespaart, hangt af van de taak, het project en het werk dat nodig is om het resultaat te controleren.

Ondersteuning en vibe coding zijn verschillende dingen

In deze cursus betekent programmeren met AI-ondersteuning dat je AI voor een deel van het werk gebruikt, terwijl een persoon verantwoordelijk blijft voor wat het resultaat moet doen en voor de controles waarmee je beslist of je het accepteert.

Vibe coding is iets anders. Je beschrijft wat je wilt, de uitvoer ziet er goed uit en je accepteert die zonder de daadwerkelijke code te bekijken. Veel softwareontwikkelaars zullen er hun wenkbrauwen bij optrekken, maar steeds meer mensen maken producten volledig met vibe coding. In de handen van de juiste persoon kan het werken. Bij iemand die vrijwel niets van programmeren weet, is het wachten op problemen.

Hoe beter deze hulpmiddelen worden, hoe meer het moeilijke deel verschuift. De vraag is niet langer “kan dit worden geschreven?”, maar “is dit het juiste, en hoe weet ik dat?”

Wat staat er op het spel?

Voor een wegwerpexperiment met voorbeeldgegevens, zonder toegang tot iets dat je moet beschermen, kunnen beperkte controles genoeg zijn. Als de kleur verkeerd is of iets stukgaat, is er weinig verloren. Snel verkennen kan juist het hele doel zijn.

Pas dezelfde werkwijze nu ergens anders toe. De software verwerkt geld of medische dossiers, of een team onderhoudt die zes jaar lang. Aannemelijk is dan niet meer goed genoeg: je hebt eisen, inspectie, tests en iemand nodig die verantwoordelijk is voor de beslissing.

Hoe grondig je moet controleren, hangt af van wat er gebeurt als de code verkeerd blijkt te zijn, niet van wie of wat die heeft geschreven.

Ik zou niemand aanraden om met een hulpmiddel te concurreren in het uit het hoofd typen van bekende patronen. Ik zou wel aanraden te leren hoe programma’s informatie bewaren, beslissingen nemen, met andere systemen communiceren en misgaan. Daarmee kun je om het juiste vragen, opmerken wanneer een uitleg niet bij de code past en een test kiezen die een probleem zichtbaar maakt.

Het is dus de moeite waard om te weten wat er werkelijk beschikbaar is. De volgende twee lessen lopen het langs: eerst de hulpmiddelen die met je meewerken, daarna de hulpmiddelen die je zelfstandig aan het werk kunt zetten.

Verder lezen (Engels)

De documentatie van GitHub houdt een actueel overzicht van AI-programmeerhulpmiddelen bij. De richtlijnen voor verantwoord gebruik van programmeeragenten beschrijven wat agenten kunnen en waar de grenzen liggen. Beide zijn optioneel.