De microprocessor als lollie
Onze overheid heeft besloten de informatica in Nederland te stimuleren door onder andere het vak in het middelbaar onderwijs in te voeren en scholen met microcomputers uit te rusten opdat brede lagen van de bevolking leren “met de computer om te gaan”. De veronderstelling is kennelijk dat wijdverbreide invoering van microelectronica onze geteisterde economie er weer bovenop zal helpen. Je kunt over deze heilsverwachting je twijfels uiten, maar deze twijfels, hoe gegrond ook, worden niet meer gehoord: de microelectronica is de laatste strohalm waaraan een wanhopige maatschappij zich heeft vastgeklampt als de doodzieke patient aan het wonderelixir van de kwakzalver. Gemakshalve, en ook omdat ik noch econoom, noch politicus ben, zal ik het belang van stimulering der informatica maar niet ter discussie stellen; de vraag, die ik wel wil stellen is of we mogen verwachten, dat de voorgestelde maatregelen effectief zullen zijn.
We weten langzamerhand dat de bijdrage van de electrotechniek zich beperkt tot het leveren van de hardware en dat we het grote probleem hoe we dat spul dan verantwoord kunnen gebruiken zelf zullen moeten oplossen. We weten ook, dat dit probleem, dat niet voor niets al meer dan 15 jaar zich onder de naam van “software crisis” aandient, hondsmoeilijk is. We weten ook, dat de ervaring van die jaren onomstotelijk heeft aangetoond dat de werkwijze van de ambachtelijke programmeur essentieel te kort schiet, en we begrijpen waarom.
Het z.g. “iteratief ontwerpen” is nl. de enige strategie, waarover hij beschikt. Men maakt een zo goed mogelijk prototype en probeert dat dan; waar het niet bevalt, brengt met wijzigingen in het ontwerp aan en probeert opnieuw, enz. Deze iteratieve strategie staat of valt met de mogelijkheid effectief te observeren of het prototype bevalt; het testen van programma’s kan wel de aanwezigheid van tekortkomingen aantonen, doch nimmer hun afwezigheid, en daarmee vervalt voor software het iteratief ontwerpen als adequate strategie.
Programmacorrectheid kan onmogelijk experimenteel worden vastgesteld en moet dus —als we er om geven!— anders worden aangetoond. De ontwikkeling van de daarvoor benodigde formele technieken is een van de wetenschappelijke triomfen van de informatica van de laatste decade, en we hebben nu het stadium bereikt, dat de werkelijk professionele informaticus bereid is om programma’s, die bijzonder genoeg zijn om het publiceren waard te zijn, te publiceren zonder ze zelf te hebben geprobeerd. Dat in het merendeel van de software industrie deze wetenschappelijke benadering nog geen wortel heeft geschoten en op de ambachtelijke manier wordt voortgetobd, is betreurenswaardig maar —organisatorische traagheid zijn wat zij is— niet verwonderlijk.
En nu gaat de microcomputer op de middelbare school geintroduceerd worden. Wat mogen we van het peil van dat onderwijs verwachten? Ik vrees, dat het niet eens het niveau van de ambachtelijke programmeur zal halen, maar blijft steken in het niveau van de hobbyist. De geestelijke bagage van de hobbyist is te enen male ontoereikend. Hij beschikt niet over de essentiele redeneertechnieken om met vrucht over een programmeeropgave te denken, en nog minder over het abstractievermogen dat nodig is om deze technieken met voldoende effectiviteit toe te passen. Niet allen dat de hobbyist het essentiele ontbeert, hij hecht —waarschijnlijk bij gebrek aan beter— altijd overmatig belang aan irrelevantie. De hobbyist gelooft, dat hij een beter programmeur is naarmate hij meer weet van specifieke machines, programmeertalen, implementaties, pakketten, noem maar op. Hij stopt zijn hoofd vol met allerlei vergankelijk feitenmateriaal waarvan de professionele informaticus allang geleerd heeft het te negeren omdat het zijn werk nodeloos afhankelijk maakt van specifieke omstandigheden. Terwijl de professionele informaticus inmiddels weet dat het de taak van de machines is om onze programma’s uit te voeren, gelooft de hobbyist nog, dat het de taak van de programmeur is om zijn machine te instrueren, hoe onbeholpen die machine ook mag zijn. Hij staat onveranderlijk toe dat de gebreken van zijn gereedschap door zijn hele werk heen vreten, omdat hij leren leven met die gebreken ten onrechte ziet als de kern van de opgave. En dat is, waarom hobbyisten onderling altijd juist praten over dingen, die er nauwelijks toe doen.
Wat ons voor grof geld gepresenteerd wordt als een stimulering van de informatica zal hoogstwaarschijnlijk ontaarden in een grootschalige stimulering van het computerhobbyisme, zulks ten detrimente van de landelijke informatica. Wij moeten vrezen dat het leiden zal tot grootschalig geklungel, waarin een aanzienlijk gedeelte van de ter beschikking staande intellectuele energie zal worden opgeslokt. In een tijd van grote werkloosheid, waarin mensen hun energie niet zinvol kwijt kunne, zijn zoethouders en tijdvullers wellicht te verdedigen; en als de gemiddelde Nederlander op het schaakspel is uitgekeken, moeten we de microcomputer misschien als milieu-vriendelijk zoethoudertje verwelkomen. Maar zo’n maatregel dan presenteren als redding van onze economie is wel een wat gekleurde voorstelling van zaken.