Wij gebruiken cookies. We gebruiken Google Analytics en Microsoft Clarity om te begrijpen hoe bezoekers deze website gebruiken. We verkopen geen persoonsgegevens. Cookiebeleid
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.
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
AI genereert code
De ontwikkelaar leest deze vluchtig door
De code lijkt redelijk
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
U ontwerpt het systeem
AI helpt bij het uitvoerende werk
U beoordeelt het resultaat kritisch
U test het
U begrijpt het
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.
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.
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.
FoxSQL is een TCP/IP-koppeling voor SQL-toegang tot AccountView- en Visual FoxPro-gegevens. C#-applicaties werken met vertrouwde databasebegrippen, terwijl de echte FoxPro-engine zijn eigen werk blijft doen. Niemand hoeft bij kaarslicht DBF-bestanden te ontleden.