Berichten van april 2021

Programmeren gaat niet om wat je weet, maar om wat je te weten komt

Leiden, Nederland

Murphy's Law: Alles wat mogelijk fout kan gaan, gaat fout.



Drie maanden. Negentig dagen. Eenentwintighonderd en zestig uren. Honderdnegenentwintigduizend zeshonderd minuten. Ook wel 7.776.000 seconden van continue code uitvoeren, voordat ik er achterkwam dat er één (1) fout(je) in mijn code stond. Helaas kan ik de code opnieuw uitvoeren. "Maar", zeg ik glimlachend met gekromde tenen tegen mezelf, "Ik zal nooit meer het belang van een correcte data type vergeten!"

Programeren is is gebaseerd op een simpel concept: De computer doet precies wat je zegt dat het moet doen. Alleen is het niet zo gemakkelijk als een vraag stellen aan Siri, Google of Alexa. Maar als we niet kunnen praten, hoe laten we dan een computer iets voor ons doen?

Als programmeur schrijven we een eindige reeks van instructies om vanuit een begin toestand naar een eind doel toe te werken. Deze instructies noemen we ook wel een algorithme of programma en worden genoteerd in een teksteditor. Een algemene teksteditor die veel mensen gebruiken is Microsoft Word. Alleen deze is niet aan te raden voor programmeren! Zelf gebruik ik de teksteditors PyCharm en BBEdit. Maar gewoon een instructie schrijven is niet genoeg. Om met een computer te kunnen communiceren moeten we het in een bepaalde taal schrijven. Een computer begrijpt net zo veel van een keurige Engelse tekst als ik van Hebreeuws, niets dus. Net zoals we op de wereld vele verschillende talen hebben, zijn er ook voor computers meerdere talen beschikbaar. Bekende en veelgebruikte talen zijn Python, Java(Script), C(++) en R. Zelf schrijf ik programma's in Python programmeertaal en ook nog in een taal die wat ouder is: Fortran.

Nou, en wat daarna? We hebben een instructie, maar hoe geven we die aan de computer? Voor programmeren in Python is dit erg simpel. Python-code wordt direct geïnterpreteerd door een Python-interpreter waarmee we het programma uitvoeren. De andere talen hebben een compiler nodig. Een compiler is een programma dat de programmeertaal direct omzet in machinecode, die rechtstreeks kan worden uitgevoerd door de processor van de computer. Doordat er geen extra interpreter tussen de code en het uitvoeren staat, is het werken met gecompileerde code sneller.

Waarom werken we dan niet allemaal met gecompileerde code. Nou, het schrijven van deze code is iets wat ingewikkelder. Zo moet je bij elke variabele aan het begin van een programma aangeven welke type deze heeft (string, integer, float) en hoeveel geheugen je gaat gebruiken om deze variabelen op te slaan. Daarnaast kunnen we gecompileerde code niet lezen: Alleen de code die we door de compiler laten compileren is 'human readable'.

"Elk voordeel heb z'n nadeel", zelf denk ik dat een kennis van meerdere talen altijd van pas kan komen. Net zoals op de wereld, je weet maar nooit wat je te wachten staat en waar je terecht komt, maar je wilt altijd een klein beetje voorbereid zijn.

24 april, 2021


Willeke Mulder aan het programmeren
Ga terug naar de hoofdpagina