Programmeren in het tijdperk van AI
Hulp die met je meewerkt
Een veelvoorkomende vorm van AI-hulp zit in de editor terwijl je werkt. Die doet voorstellen die je kunt bekijken voordat je ze accepteert.
Dat is het deel van het vakgebied dat je het beste eerst kunt begrijpen: de kleine voorstellen geven je een overzichtelijke plek om het lezen en controleren van code te oefenen.
Afmaken waar je aan begon
Codeaanvulling kijkt naar wat je schrijft en stelt de rest voor. Soms een paar woorden, soms een hele functie.
Het interessante is hoeveel context het inmiddels gebruikt. Geef een functie een duidelijke naam en een regel die beschrijft wat die moet doen. Een goede aanvulling levert dan vaak een redelijke inhoud op, omdat de naam en het commentaar duidelijk maakten wat je bedoelde. Schrijf vage namen en je krijgt vage voorstellen. Dat herinnert je er dagelijks aan dat zorgvuldig namen kiezen altijd al meer deed dan het leek.
Bij codeaanvulling die alleen voorstellen doet, accepteer of negeer je elk voorstel. Accepteren voegt de code toe; het stelt niet vast dat de code correct is. Hulpmiddelen die ook opdrachten uitvoeren of grotere wijzigingen aanbrengen, vragen om de toegangsrechten en beoordeling uit de volgende les.
Een aangewezen stukje code aanpassen
Selecteer wat code, beschrijf de wijziging en het hulpmiddel herschrijft die selectie. “Handel het geval af waarin het bestand ontbreekt.” “Maak hiervan een functie die de map als argument krijgt.” “Laat dit werken voor een lijst bestanden in plaats van één bestand.”
Dit is een handige manier om het werk gericht te houden: klein genoeg om als één wijziging te beoordelen en specifiek genoeg dat je al weet waar je om vroeg.
Vragen stellen over bestaande code
Deze mogelijkheid heeft mijn werkende leven sterker veranderd dan alle andere. Het is ook degene die ik een beginner het meest zou aanraden.
Je kunt een gesprek richten op echte code en vragen wat die doet. Geen schoolvoorbeeld, maar het daadwerkelijke bestand voor je, met zijn vreemde namen en zijn geschiedenis. Je kunt vragen waarom een regel er staat, wat er stukgaat als je die verwijdert, wat een onbekend stukje syntaxis betekent of waar de maker waarschijnlijk rekening mee hield.
Als je nog leert, kan dat een onbekend bestand veel toegankelijker maken. De uitleg kan nog steeds verkeerd zijn. Vraag het hulpmiddel de regels aan te wijzen die de uitleg ondersteunen. Vergelijk vervolgens wat het zegt met de code en met wat er gebeurt wanneer je die uitvoert.
Uitleggen wat er misging
Deel een foutmelding nadat je wachtwoorden, privégegevens en andere details die het hulpmiddel niet mag ontvangen hebt verwijderd. Vraag wat de melding betekent en wat je vervolgens kunt controleren. Een voorgestelde oorzaak is iets om te onderzoeken, geen diagnose die je moet accepteren.
Een foutrapport kan lastig te lezen zijn als je de termen nog niet kent. Uitleg op verzoek kan je helpen een volgende stap te vinden, in plaats van willekeurig code te veranderen.
Een eerste versie van de minder geliefde klusjes
Tests, documentatie, commitberichten, voorbeeldgegevens, het omzetten van de ene gegevensvorm naar de andere. AI kan er snel een eerste versie van maken. Bij de beoordeling moet je nog steeds de beweringen controleren: een test vergelijkt wat een programma doet met wat je verwacht, en kan de verkeerde verwachting controleren.
Wat deze vormen van hulp gemeen hebben
Deze vormen van hulp kunnen werken in kleine eenheden die je kunt bekijken: één voorstel, één selectie, één antwoord. Dat maakt controleren overzichtelijker, maar een fout kan nog steeds lastig te ontdekken zijn, zelfs in één regel.
Als je leert, is dat een bruikbaar vertrekpunt. Lees het voorstel, stel vragen over wat je niet herkent en vergelijk het gedrag met een resultaat dat je zelf kunt bepalen. De code zien biedt een kans om die te controleren, geen bewijs dat je elke fout hebt gevonden.
Het andere deel van het vakgebied werkt anders. Daar draag je een doel over, werkt het hulpmiddel een tijdje zelfstandig en beoordeel je het resultaat in plaats van de toetsaanslagen. Dat verandert waarvoor je je oordeel gebruikt. Daarover gaat de volgende les.