Een (goed opgezet) programma vertoont een grote structurele analogie met elke (goed opgezette) mathematische theorie. Het werk van de programmeur onderscheidt zich daardoor voor mijn gevoel niet wezenlijk van dat van de creatieve mathematicus.
Er zijn echter (meer of minder) duidelijke accentsverschillen:
1) de basisconcepten der programmering zijn gering in aantal en vrij simpel (misleidend simpel, zo je wilt); het is daardoor een ideaal oefenterrein voor ontwikkeling. (Daarbij komt nog de louterende, correctieve invloed van de eis, dat het programma uiteindelijk echt moet werken!)
2) veel wiskundeonderwijs doceert bestaande theorieen, dwz. maakt de student vertrouwd met een specifiek (uitgebreid) begrippenarsenaal; de programmeur zal evenwel iedere keer het passende begrippenarsenaal zelf moeten ontwikkelen. Dit beroep op zijn actief abstractievermogen maakt programmeren tot een naar aard creatiever werk dan die wiskundebeoefening, die zich beperkt tot het toepassen van bestaande theorieen.
3) doordat vele programma's zo groot zijn en nochtans werken moeten, leert de programmeur een bewustere ontwikkelingsmethodologie. En dat is, wat je moet proberen te doceren! Voor extensieve kennisoverdracht zie ik veel minder rechtvaardiging.