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.