Nieuws

De valkuil van programmeren met AI: waarom het dit keer niet anders is

Om de paar jaar verschijnt in de softwarewereld een hulpmiddel dat programmeurs minder noodzakelijk belooft te maken. In de jaren tachtig waren dat 4GL- en CASE-tools, in de jaren negentig visueel programmeren, in de jaren tweeduizend offshoreontwikkeling en in de jaren tien low-code en no-code. In de jaren twintig is het codegeneratie met AI.

De valkuil van programmeren met AI: waarom het dit keer niet anders is

Softwareontwikkeling · Opinie

Om de paar jaar verschijnt in de softwarewereld een hulpmiddel dat programmeurs minder noodzakelijk belooft te maken. Het verhaal is steeds hetzelfde, en gaat steeds op dezelfde manier mank.

In de jaren tachtig waren het 4GL- en CASE-tools. In de jaren negentig visueel programmeren. In de jaren tweeduizend offshoreontwikkeling. In de jaren tien low-code- en no-codeplatforms. Nu, in de jaren twintig, is het codegeneratie met AI.

Elke nieuwe golf brengt dezelfde belofte: dit keer is het anders. Dat is het nooit. Begrijpen waarom dat zo is, is belangrijker dan ooit, want dezelfde fout wordt steeds sneller en goedkoper gemaakt.

Code schrijven is niet het moeilijke deel

De fundamentele vergissing is het verwarren van code produceren met software ontwikkelen. Code schrijven is het eenvoudige deel. Begrijpen wat het systeem moet doen, waarom het zich zo gedraagt en hoe het onder druk faalt: daar zit het echte werk.

AI kan code genereren, patronen aanvullen en functies herschrijven. Maar het begrijpt uw systeem niet. Het kent uw randvoorwaarden, uw invarianten, de dagelijkse bedrijfspraktijk of de historische redenen achter ontwerpkeuzes niet.

Het maakt uitvoer die correct lijkt . Dat is iets anders dan correct zijn.

AI denkt niet

Dit punt wordt vaak gemakshalve overgeslagen. AI denkt niet, redeneert niet en begrijpt niet. Het is een statistisch systeem dat het waarschijnlijkste volgende token voorspelt op basis van eerder geziene patronen.

Er is geen bedoeling, geen bewustzijn en geen begrip van gevolgen. Het kan niet aan zichzelf twijfelen. Het kan geen stap terugzetten en vragen: “Klopt dit eigenlijk wel binnen dit systeem?”

Erger nog: het heeft vaak met grote stelligheid ongelijk. Het genereert nette, overtuigende en goed gestructureerde code die probleemloos compileert, maar ongemerkt aannames schendt, invarianten doorbreekt of subtiele fouten toevoegt die pas in de praktijk zichtbaar worden.

Stelligheid zonder begrip is gevaarlijk als deze als gezag wordt behandeld.

Dezelfde valkuil als vroeger

Dit patroon is niet nieuw. Het lijkt op de uitbestedingsgolf die veel bedrijven jaren geleden meemaakten. De redenering was eenvoudig: ontwikkelaars zijn duur, elders kan goedkoper worden geprogrammeerd, dus besteed het werk uit en ontvang kant-en-klare software.

Het resultaat was vaak voorspelbaar: systemen die technisch werkten, maar slecht werden begrepen, moeilijk te onderhouden waren en uiteindelijk niet meer durfden te worden aangepast. De goedkoopste code werd de duurste software.

AI brengt hetzelfde risico op een andere schaal. Het versnelt codeproductie zonder het begrip te vergroten.

AI maakt menselijke fouten, maar sneller

AI introduceert geen volledig nieuwe soort fouten. Het vergroot een bestaand probleem en maakt dezelfde soorten fouten als mensen:

  • Context verliezen
  • De bedoeling verkeerd begrijpen
  • Het verkeerde onderdeel optimaliseren
  • Subtiele neveneffecten veroorzaken
  • Uitzonderingsgevallen missen
  • Gedrag breken tijdens het “verbeteren” van de structuur

Het verschil zit in snelheid en hoeveelheid. Dat leidt tot een eenvoudige regel die ervaren ontwikkelaars al volgen:

U bent verantwoordelijk voor iedere regel code die u vastlegt.

Het maakt niet uit waar de code vandaan komt: AI, een collega, Stack Overflow, een bibliotheek of uw eigen toetsenbord. Als u de code accepteert, is deze uw verantwoordelijkheid.

Twee werkwijzen, twee uitkomsten

Het echte probleem is niet AI zelf, maar hoe teams ermee werken. Het verschil is groot:

De riskante werkwijze

  1. AI genereert code
  2. De ontwikkelaar leest deze vluchtig door
  3. De code lijkt redelijk
  4. De wijziging wordt samengevoegd

Dit is geen softwareontwikkeling. Het is het uitbesteden van denkwerk aan een machine die niet denkt. Op termijn leidt dit tot achteruitgang van de architectuur.

De enige veilige werkwijze

  1. U ontwerpt het systeem
  2. AI helpt bij het uitvoerende werk
  3. U beoordeelt het resultaat kritisch
  4. U test het
  5. U begrijpt het
  6. U neemt de verantwoordelijkheid

AI is een hulpmiddel, geen beslisser of autoriteit. Zie het als een zeer snelle collega die soms iets nuttigs zegt en soms iets volkomen onjuists, met absolute overtuiging.

Het echte risico: complexiteit groeit sneller

Het grootste effect van AI is niet minder fouten, maar het sneller bouwen van complexe systemen. En juist bij complexiteit gaat software mis.

De meeste productieproblemen komen niet door syntaxisfouten, maar door:

  • Onduidelijke eisen
  • Aannames die niet blijken te kloppen
  • Verborgen afhankelijkheden
  • Een zwakke architectuur
  • Onduidelijke verantwoordelijkheid
  • Onvoldoende tests

AI lost geen van deze problemen op. Het kan teams juist sneller op dat punt brengen.

Dit keer is het niet anders

Elke generatie denkt dat nieuwe hulpmiddelen diepgaande softwarekennis overbodig zullen maken. Maar typsnelheid was nooit de beperkende factor. Dat was altijd begrip.

AI verbetert het eerste. Het vervangt het tweede niet.

Goed gebruikt is AI een krachtig hulpmiddel. Blind gebruikt levert het precies op wat de geschiedenis al heeft laten zien: grote systemen die niemand begrijpt en niemand wil aanpassen.

De vraag die telt

De vraag is niet of AI code kan schrijven. De vraag is of de mensen die ermee werken de systemen die ze bouwen nog begrijpen.

Als dat zo is, biedt AI een voordeel.
Zo niet, dan is AI alleen een snellere route naar mislukking.

Terug naar nieuws

Meer

Gerelateerde artikelen

23 okt 2025

DataBridge ontwikkelen in C#

DataBridge is ontwikkeld als herbruikbaar synchronisatieplatform om bedrijfsgegevens uit een lokale administratieomgeving naar externe systemen te verplaatsen, zoals HTTP-services, Microsoft SQL Server en MySQL. Het is geen eenmalig exporthulpmiddel, maar een duurzame verbinding tussen uiteenlopende technische omgevingen, flexibel genoeg om ook te werken als de precieze gegevensstructuur vooraf nog niet bekend is.

15 sep 2023

FileDropArea: een ActiveX-component voor slepen en neerzetten in FoxPro, gebouwd op .NET

FileDropArea lost een praktisch integratieprobleem op: bestaande Visual FoxPro-applicaties hadden een modern, gebruiksvriendelijk vlak nodig voor het slepen en neerzetten van bestanden, Outlook-bijlagen en links, zonder de omringende applicatie te herschrijven. Het resultaat is een via COM toegankelijke ActiveX-component op .NET Framework 4.8, geschikt gemaakt voor 32-bits FoxPro-omgevingen.

Wilt u met ons samenwerken?

Neem contact op, dan bespreken we uw project.