DevelopmentChatGPT, Leuk speeltje of geweldige tool?

ChatGPT, Leuk speeltje of geweldige tool?

Een blik op de mogelijkheden van ChatGPT bij het schrijven van code

De afgelopen periode was er één chatbot niet uit het nieuws te slaan: ChatbotGPT van OpenAI. Deze chatbot is, dankzij zijn ongekende vermogen om hele natuurlijke stukken tekst te genereren over van alles en nog wat, veel in het nieuws geweest. Van het schrijven van artikelen over Mark Rutte tot het huiswerk van scholieren, ChatGPT maakt het allemaal. Natuurlijk, als een nieuwsgierige developer, vraag jij je af wat de limieten zijn van ChatGPT. Zou hij bijvoorbeeld code kunnen schrijven? En zo ja, is het dan interessant om op te nemen in je werkzaamheden. In dit blog gaan wij dat uitzoeken. 

 Om een beetje een beeld te krijgen van wat ChatGPT kan, heb ik een aantal vragen gesteld. Deze heb ik gecategoriseerd als volgt:  

  1. Simpele vragen
  2. Complexe vragen
  3. Code verbeteringen

 In elke sub kopje bespreek ik wat dit type vraag inhoudt, wat het antwoord is dat ChatGPT geeft en hoe nuttig dit is naar mijn mening. 

Een simpele vraag

Binnen deze test is een simpele vraag, een vraag waarvan een collega zo de oplossing kan laten zien. Een standaard probleem met een standaardoplossing. Voor mijn test heb ik aan ChatGPT gevraagd hoe ik, in een Angular applicatie, een regel in een tabel van kleur laat veranderen als mijn muis op de regel staat. ChatGPT antwoorde terug met twee oplossingen. Namelijk het gebruik van pseudo-class van CSS. Met voorbeelden:

Kan ChatGPT programmeren?

En een andere Angular specifieke oplossing die gebruik maakt van Angular directives. Eveneens met voorbeelden.

Kan ChatGPT programmeren?

Los van de code voorbeelden geeft ChatGPT ook een beschrijving van de werking.

Mocht je net als ik voor de eerste keer werken met pseudo-classes, dan kun je ook rustig aan ChatGPT vragen wat pseudo-classes doen. Hij geeft dan een mooie compacte uitleg met een overzicht van een aantal verschillende pseudo-classes.

Kan ChatGPT programmeren?

ChatGPT blinkt uit in het beantwoorden van dit soort simpele vragen. Het geeft je antwoorden waar je wat aan hebt en biedt te mogelijkheid ook vragen te stellen zodat je ook kan snappen waarom dit werkt, net alsof je een senior developer naast je hebt.

Een complexe vraag

Een complexe vraag is een vraag over een onderwerp dat niet even opgelost kan worden door erop te googelen maar waar actief over nagedacht en gepland moet worden. Dus niet even een functie schrijven maar bijvoorbeeld een complete applicatie. Mijn eerste test hiervoor was te vragen of hij een applicatie kon schrijven die circulaire dependencies detecteert. Tot mijn verbazing kwam hij met een Proof Of Concept applicatie.

Kan ChatGPT programmeren?

De exacte applicatie laat ik even erbuiten, maar niet alleen gaf hij een antwoord met een code voorbeeld ook gaf hij weer een gedetailleerde uitleg over de werking van de applicatie en gaf hij ook nog een voorstel voor het gebruik van een bestaande library.

Een tweede nog complexere vraag die ik stelde is hoe ik een chatbot kan maken die mij een reminder stuurt wanneer ik moet vertrekken om de bus te halen. In dit geval geeft ChatGPT mij geen code voorbeelden maar een stappenplan.

Kan ChatGPT programmeren?

Hoewel niet direct bruikbaar is het wel een handig overzicht. Maar het is ook duidelijk dat ChatGPT geen wondermiddel is dat het development werk volledig van je overneemt. Maar het helpt je wel op weg door je de juiste richting op te wijzen en de plekken waar je kan kijken te benoemen.

Code verbeteren

ChatGPT is ook geschikt voor het geven van advies over hoe je je code kunt verbeteren. Het enige wat je hoeft te doen, is aan ChatGPT vragen of hij je code kan verbeteren. Zo heb ik om verbeteringen gevraagd voor simpel stukje typescript/Angular:

Typescript ChatGPT

ChatGPT gaf hierop het volgende antwoord:

Kan ChatGPT programmeren?

Kan ChatGPT programmeren?

Ook voor backend code kan Chat-GPT advies geven. In een functie heb ik een backend query waarbij ik een wijziging heb die ik op een reeks van records doe.

ChatGPT backend query

ChatGPT raadde aan dit te versimpelen tot:

ChatGPT code

Volgens ChatGPT is dit beter omdat je je minder calls nodig hebt en in één keer meerdere records kunt aanpassen in plaats van een voor een zoals in de foreach loop. Hoewel deze oplossing niet helemaal werkt voor mij, gaf het mij wel een nieuw idee hoe ik mijn records efficiënter kan verwerken zonder for each loop. Het blijft een suggestie die ChatGPT geeft en zelf raadt hij ook aan om altijd even te checken of de gegeven suggesties ook echt werken.

Conclusie

ChatGPT kan code schrijven maar niet programmeren. Het is geen wondermiddel dat developers gaat vervangen, maar hij is zeker wel in staat om je bij te staan in je ontwikkelproces als een meedenkende bad-eend. Zelf ga ik ChatGPT in het vervolg zeker vaker gebruiken om met mij mee te denken naar manieren om mijn code nog beter te maken.

Wil je AI inzetten om jouw processen te verbeteren?

Mocht je interesse hebben in hoe AI jouw processen kan verbeteren of ben jij benieuwd naar de mogelijkheden die Delta-N biedt neem dan contact met ons op! Gezamenlijk zoeken wij altijd naar de beste oplossing voor jou.

Akash Aartsen, Software Developer

  • Wil jij ook dagelijks Mederne Applicaties bouwen? Bekijk vacatures!