De afgelopen maanden heb ik AI vaak gebruikt voor het programmeren. Er zijn nu allerlei tools op de markt: Cursor en Windsurf zijn op dit moment bekende tools, maar ik ben het meest fan van Claude Code. Inmiddels is het ook te combineren met een Pro abonnement van Claude, waardoor je niet apart voor tokens hoeft te betalen. Alleen bij intensief programmeren bereik je soms de limiet van je abonnement, die dan na een paar uur gereset wordt. Maar goed, los daarvan: Claude Code werkt gewoon heel fijn, het maakt een plan, doet aan testen en je kunt het allerlei instructies meegeven via een markdown-file. Ik ga hier niet uitgebreid tips voor Claude Code delen, want zo’n expert ben ik daar ook niet in. Hier staat het internet inmiddels vol mee, zie Youtube, Reddit, nou ja, je snapt het wel…
Bomen en bos
Ik heb de afgelopen tijd namelijk ook na zitten denken over wat programmeren met AI betekent voor je creativiteit en vakmanschap/voldoening dat hoort bij programmeren. Om met creativiteit te beginnen, het mooie van programmeren met AI is dat je conceptueler kunt denken. Je hoeft namelijk minder denkkracht en tijd besteden aan standaardcode kloppen. Hierdoor kun je (in ieder geval op het oog) sneller ontwikkelen en een prototype bouwen. Maar dan houd je dus ook tijd en energie over om dieper na te denken over je idee. Het risico van “klassiek” programmeren (bij mij althans) is dat je een in een tunnel terecht komt om een heel specifiek probleempje op te lossen, waardoor je het grote overzicht kwijt raakt. En bij programmeren met AI gaat AI de kleine problemen voor je oplossen.
Mijn podcast waar ik historische figuren met AI interview is denk ik een mooi voorbeeld van deze synergie. Ik had het concept bedacht en in mijn hoofd wat het zou moeten kunnen. En Claude ging aan de slag en stukje bij beetje werd het iets moois. Met uiteraard steeds meer wensen van mij die ingewilligd werden. Uiteindelijk heb ik nu een vrij soepele workflow waarin ik iedere historische figuur kan interviewen die ik wil, met bijpassende stem. Hierbij kon ik me dus met de grote lijnen bezighouden en daar mijn creativiteit in stoppen. Win-win dus. Of toch niet?
Leren: fouten maken en oplossen
Want ik heb toch ook het gevoel dat ik onderweg wat ben kwijtgeraakt, qua ervaring en kennis. Ik heb bijvoorbeeld met Claude Code ook een website (in React) gebouwd met een AI backend. Vorig jaar zou ik dan tutorials gaan zoeken en met behulp van trial-and-error de site bouwen. Dit zou, zeker in het begin, veel langzamer gaan. Maar uiteindelijk zou ik wel begrijpen wat er precies gebeurt in de code. En zou ik ook fouten kunnen herstellen. Want dat was nu wel een serieus probleem. De site die Claude gebouwd had zag er oorspronkelijk niet uit, maar door wat voorbeelden te geven, werd het wel beter. Maar de onderliggende sites zagen er nog steeds niet uit en dat kreeg ik niet goed. En nu zat ik juist in het slechtste van twee werelden: ik had iets wat initieel best aardig leek, maar uiteindelijk onvoldoende was en nu kon ik het niet meer zelf herstellen. Ik kan natuurlijk weer ouderwets gaan googlen, maar ik stap nu halverwege het project in en dan is het veel lastiger de boel op te lossen, dan wanneer ik vanaf het begin de basis geleerd had.
Programmeren in de toekomst
En los daarvan, het voelt ergens ook wel minder bevredigend om een tool volledig met AI te bouwen. Als het sec om productie of geld verdienen gaat, zou dat misschien niet uit maken, maar vakmanschap/voldoening is voor veel programmeurs een belangrijke reden om goed werk te leveren. Kortom, ik heb er gemengde gevoelens over: ik zie zeker het potentieel. En ergens voelt het ook natuurlijk om met AI te programmeren, omdat je in natuurlijke taal beschrijft wat je wilt. Plus dat het een logisch vervolg lijkt op de ontwikkeling die programmeertalen hebben doorgemaakt: van ponskaarten tot machinetaal en nu dynamische talen als Python. Maar mijn gevoel zegt dat de huidige tools of werkwijze nog wel een ontwikkeling moeten doormaken willen we helemaal het “oude” programmeren opgeven. Dat je meer meegenomen wordt in wat er precies geprogrammeerd wordt zodat je er van leert en snapt wat je programma uiteindelijk doet. Hoe dat er uit gaat zien kan ik nu ook niet zeggen, maar misschien een uitleg van de AI wat er per onderdeel gebouwd is en dat op een interactieve manier.

