Programmeren lijkt op koken. Je bedenkt wat je wilt maken (of als iemand anders voor je kiest, dan bedenk je hoe je het wilt maken). In Python bestaan al veel basisingrediënten. Deze modules zijn net als kant en klaare delen van je recepten. Soms wat beter (gezonder) en soms wat slechter (ongezonder) voor het programma (recept) dat je wilt maken. Ervaring helpt je hier, net als bij koken, om een goede keuze te maken. Net als vooraf testen of je bepaalde stukken echt goed begrepen hebt en het gewenste resultaat geeft. 

Eenmaal bedacht wat ik wil maken, kijk ik eerst of er een programma bestaat dat dit al kan. Vaak is er een programma dat voor een groot deel doet wat ik wil, maar niet helemaal. Dan pas ik het programma aan, voeg wat toe, haal wat weg, totdat het doet wat ik wil. Met koken ga ik vaak op eenzelfde manier aan de slag. Ik heb een recept gevonden dat voor een groot deel lijkt op wat ik wil maken. Maar sommige ingrediënten vervang ik door iets anders of ik laat een deel weg of doe er iets bij. 

Af en toe kom ik in mijn zoektocht naar een bepaald programma of recept, ik iets tegen dat anders is dan ik had gepland. Iets dat er heel aantrekkelijk uitziet. Iets waarvan ik meteen het gevoel heb: dat wil ik maken. Dan is het lastig om een keuze te maken: Blijf ik bij mijn oorspronkelijke plan, of switch ik naar dit nieuwe idee. En wat doe ik met het andere idee? Laat ik het varen, of bewaar ik het voor een ander moment? 

Als ik dan – na wat wikken en wegen, – gekozen heb, ga ik aan de slag. Ik lees het recept of programma eerst helemaal door. Ik zet alle ingrediënten vast klaar die ik nodig heb. Vervolgens volg ik stap voor stap het recept of programma. Tussendoor proef of test ik even een stukje voor ik weer verder ga. En zo, kom ik aan het eind van mijn recept of programma. Beproefd en goedgekeurd en klaar om te eten of te gebruiken. 

Anders dan tijdens het koken, kun je er tijdens het programmeren op rekenen dat je problemen tegenkomt. Ik ken geen mensen die foutloos kunnen programmeren. Dus een standaard onderdeel van programmeren is het halen van fouten uit je programma (debuggen heet dat). Dit is voor mij zowel het meest frustrerende als het meest inspirerende deel van het programmeren. Ik raak gefrustreerd wanneer ik een fout niet (snel genoeg) kan vinden, maar het geeft een enorme kick als je je fouten eruit haalt en je programma precies doet wat je wilt. Het geeft dan elke keer precies het resultaat dat je verwacht. Net als bij koken wanneer je een recept vaker maakt en het steeds beter lukt. Het voordeel van programmeren is dat je niet steeds opnieuw hoeft te beginnen, omdat je niet opeet wat je hebt gemaakt. Heel af en toe is het net als bij koken handig om toch van voren af aan te beginnen, om ervoor te zorgen dat het niet compleet mislukt. 

Heb jij een dochter die wel wat programmeren wil proeven? Ik heb een gratis e-book gemaakt met drie eenvoudige recepten. Je kunt het aanvragen door het formulier hieronder in te vullen.