Programmeren blijft leuk

Programmeren van computers is niet makkelijk maar nog steeds zeer leuk om te doen. Sinds 1970 toen ik op de TU/e begon met werken in de informatica is er veel veranderd. Niemand had toen kunnen voorspellen dat computers die toen gigantische afmetingen hadden nu bij iedereen thuis op het bureau zouden staan.

In de beginperiode bestonden er nog weinig opleidingen in de informatica. Om in de vraag naar technisch wetenschappelijk geschoolde programmeurs te voorzien is rond 1965 de opleiding Wetenschappelijk Rekenaar gestart. Deze opleiding bestond uit een A en een B deel. Voor het A diploma moest je de wiskunde kennis van de propadeuse studie beheersen, aangevuld met een behoorlijke dosis numerieke wiskunde. In de B opleiding kwamen daar vakken als discrete wiskunde, kunst van het programmeren en operationele research bij.

In het informatica-onderwijs op de TU/e werd grote nadruk gelegd op nette programeertalen zoals Algol en Pascal. Door de strong typing van deze talen, kan de compiler tijdens het vertalen van een programma fouten vinden die anders pas aan het licht zouden komen tijdens de verwerking ervan. Niklaus Wirth heeft Pascal uitgebreid met het module concept in Modula-2 en in zijn laatste geesteskind Oberon-2 hier de belangrijkste concepten uit het object oriented programming aan toegevoegd. Met de komst van Unix computers kwamen talen met een minder stringente syntax controle zoals C en C++ in zwang. Deze talen staan dicht bij assemblertalen waardoor het veel werk kost om hierin een programma te schrijven. Met scriptingtalen zoals het populaire PERL gaat dat een stuk sneller. Met de opkomst van het 'world wide web' kwamen vervolgens ook Java en de scriptingtalen JavaScript en PHP beschikbaar.

Op het eind van mijn loopbaan heb ik me bezig gehouden met het maken en onderhouden van websites, eerst op basis van HTML, CSS (Cascading Style Sheets) en JavaScript, later met het content management systeem TYPO3. Een voordeel van een goed opgezet CMS is dat je veel basis functionaliteit krijgt die naar keus uitbreidbaar is met plugin modules (extensies). De huidige implementatie van TYPO3 (4.x) loopt tegen zijn grenzen aan, hopelijk kunnen deze worden opgelost in de nieuwe opzet van TYPO3 (5.0).