Computerprogrammering is het proces van het ontwerpen en schrijven van computerprogramma’s. Dat is vrij eenvoudig, niet?
In de basis kun je programmeren zien als het geven van instructies aan een computer om iets te doen wat je wilt dat het doet – wat erg lijkt op hoe je je desktopcomputer bedient. Simpel gezegd, het enige verschil tussen wat je nu doet als computergebruiker en wat je als computerprogrammeur zou kunnen doen, is dat de instructies ergens worden opgeslagen, zodat ze steeds opnieuw kunnen worden gebruikt. In feite, als je macro’s hebt gebruikt in een softwareprogramma zoals een tekstverwerker of spreadsheet (of talloze andere toepassingen die macro’s ondersteunen), heb je een soort computerprogrammering gedaan.
Programma’s kunnen zo simpel zijn als een reeks instructies die zijn opgeslagen in een tekstbestand voor het uitvoeren van een alledaagse taak, zoals het maken van back-ups van alle computerbestanden in een map, of zo complex als iets als een tekstverwerker, of het besturingssysteem dat uw computer toepassingen waarvoor miljoenen regels code nodig zijn. We moeten begrijpen dat computers, die over het algemeen alleen maar stukjes metaal, plastic, silicium en andere materialen zijn die aan elkaar zijn geplakt op een manier waardoor ze verbazingwekkende dingen kunnen doen die lijken op denken, eigenlijk helemaal niet kunnen denken. Maar wat ze buitengewoon goed kunnen, is instructies opvolgen. Dus wat zijn deze instructies eigenlijk? Op het niveau dat een computer begrijpt, moeten deze zeer nauwkeurige, zeer gedetailleerde en zeer volledige stapsgewijze instructies zijn, en ze moeten in een vorm zijn die de processor en andere delen van de computer kunnen begrijpen – en dat is als kleine elektrische pulsen die mensen niet kunnen uitzenden (althans niet op dit moment).
In zekere zin kun je een computerprogramma zien als een recept: een reeks instructies die kunnen worden gevolgd om een resultaat te produceren. In het geval van een recept worden de instructies door een mens gebruikt en kunnen daarom een beetje beschrijvend zijn, waarbij enkele details worden weggelaten. Als een receptinstructie bijvoorbeeld is om “het mengsel in een blender te gieten en te kloppen tot het schuimig is”, wordt aangenomen dat de mens weet wat een blender is en waar hij is, en hoe hij moet worden opgesteld en hoe hij moet worden gebruikt. het – en ook wat gieten betekent, en wat schuimig betekent, enzovoort. Van de menselijke chef wordt verwacht dat hij de gaten opvult. Een computer kan dit niet – hij heeft geen idee wat iets betekent, behalve een paar heel eenvoudige instructies. Dus de manier waarop we dit doen is om de mens een manier te geven om instructies te schrijven die vervolgens kunnen worden vertaald in iets dat de computer kan begrijpen. De “manier om instructies te schrijven” wordt een programmeertaal genoemd.
Wat we met een programmeertaal kunnen doen, is instructies voor de computer schrijven in een min of meer voor mensen leesbare vorm die vervolgens kunnen worden vertaald in iets waarmee de computer kan werken. De voor mensen leesbare instructies worden meestal (je raadt het al) – code! Elke regel met door mensen leesbare code vertaalt zich in duizenden gedetailleerde computerinstructies. Een speciaal programma (of een reeks programma’s) wordt gebruikt om deze vertaling te doen – elke computertaal heeft zijn eigen vertalers, die compilers of tolken worden genoemd. Zodra de vertaling is voltooid, wordt het resultaat in een of andere vorm opgeslagen, zoals een bestand of een reeks bestanden (of in sommige gevallen in het computergeheugen), en elke keer dat de software wordt uitgevoerd, volgt de computer de instructies en (hopelijk) het programma zal doen wat het ook is dat het zou moeten doen.
Hoewel vaak wordt gedacht dat je een genie moet zijn om nuttige software te kunnen schrijven, kan bijna iedereen die handig is met computers en er belang bij heeft een krachtige gebruiker te worden, leren programmeren. De meeste software is geschreven door gemiddelde mensen met gespecialiseerde kennis en vaardigheden. Het onder de knie krijgen van computerprogrammering kan een levenslange bezigheid zijn, maar het verzamelen van voldoende kennis en vaardigheden om nuttige dingen te kunnen doen, is niet buiten bereik voor iedereen die weet hoe hij een computer moet gebruiken en bereid is wat tijd te besteden… of misschien veel tijd, maar toch – het is niet buiten bereik.