Mijn studenten kijken altijd wat ongelovig, maar vooral ook nieuwsgierig als ze te weten komen dat ik zowel met geschiedenis als met informatica bezig ben. Voor mezelf is dat niet zo vreemd. Informatica bedrijven is informatie structureren, catalogiseren, vergelijken, indelen, opzoeken, doorzoeken, filteren ... kortom, dingen waarover ook de heuristische methodes van een historicus handelen. Het ultieme streefdoel als leraar is jongeren leren omgaan met informatie, ze leren filteren. Maar dat is natuurlijk makkelijker gezegd dan gedaan.
Leren betekent ook informatie bestendigen in het geheugen. Ruwweg kunnen we als mens op twee manieren informatie leren en opslaan. Declaratieve herinneringen gaan via de kortetermijnbuffer naar onze hersenen. Het betreft in dit geval semantische herinneringen, zoals begrippen en feiten, en episodische herinneringen, die gekoppeld zijn aan een bepaalde tijd en ruimte. Dit soort informatie raakt het snelst vergeten. Niet-declaratieve herinneringen gaan niet via de kortetermijnbuffer en lijken door onze hersenen meer te worden bestendigd. Hierin onderscheiden we drie vormen van leren: motorisch leren verloopt via de kleine hersenen, perceptueel leren via de neocortex en gewoontevorming via de basale ganglia.
De langetermijnopslag, kortom de ‘harde schijf’ of het geheugen van onze hersenen, ligt in de neocortex en voor een stuk in de hippocampus, in het zogenaamde "zoogdierenbrein" . Mensen met geheugenproblemen zoals dementie ‘vergeten’ de namen van hun kinderen, maar kunnen meestal wel nog fietsen of koken. Het lijkt erop dat aangeleerde stappenplannen beter geconsolideerd worden dan pure feitenkennis. Ook al hebben computers niet meteen last van dementie, toch onderscheiden we ook hier die dualiteit tussen pure feitenkennis (de opslag van informatie) en het uitvoeren van programma’s.
De grootste genoegdoening krijg je als programmeur als je de machine precies kan laten doen wat jij wilt. Dat is natuurlijk wat anders dan bijvoorbeeld het licht ontsteken bij het drukken op de schakelaar. Een programma bestaat uit een stappenplan of meerdere instructies, die de machine achtereenvolgens moet uitvoeren. Een programma heeft ook enkel nut als de machine de instructies zelfstandig en automatisch uitvoert. De stuurfunctie is voor een stuk vastgelegd in een programma, waardoor de mens op dat punt overbodig wordt. De muziekdozen en pianola’s (automatisch spelende piano’s met geponste platen) uit de 19e eeuw, de machines van de Banū Mūsā uit de 9e eeuw of de automaten van Jacques Droz werkten met kamsystemen en cilinders met pinnen. Deze cilinders roteerden, waarbij de pinnen tegen hefbomen drukten en een bepaald mechanisme in gang zetten. Als je de cilinder verving, veranderde ook het programma.
Afbeelding: 19e eeuwse muziekdoos.
‘(...) Nadat ik Herons tekst grondig had gelezen, had ik niet de minste twijfel over zijn intentie. Het is duidelijk dat hij zijn robot had ontworpen om hem te kunnen programmeren en om hem in het theater voor verschillende effecten te gebruiken. Op een bepaald punt beschrijft hij zelfs hoe je ingewikkeld gedrag moet programmeren.’
Net zoals in moderne programmeertalen slaagde Heron er ook in om een ‘timer’-functie in te bouwen. Daarvoor plakte hij met was een stuk van het touw vast aan de as. Het zakkende gewicht trok het was stilaan los. Als het touw eenmaal was losgekomen, begon de as weer te roteren. Je zou de instructies voor Herons robot kunnen uitschrijven met een eenvoudige programmeertaal, zoals de programmeertaal die (als een gratis alternatief) voor Lego® Mindstorms- robots werd ontwikkeld.
task main(){
OnFwd(OUT_A,75);
OnFwd(OUT_B,100);
Wait(3000);
}
Het automatische theater van Heron reed volkomen zelfstandig het podium van het theater op. Daar stopte het en toonde een toneelstuk van mechanische poppen, die eveneens door een mechanisme van pinnen, gewichten, touwen, assen, tandwielen en hefbomen werden aangedreven. Het theater was voorzien van decorwissels en geluidseffecten. Door op een bepaald moment een sleuf open te trekken vielen loden ballen op een trom, wat het geluid van donder simuleerde.
De ongeziene genialiteit die hij aan de dag legde bij het programmeren van zijn automatische theaters doet vermoeden dat ze slechts een stap waren in een lange traditie van programmeerbare machines. Dat blijkt ook uit zijn teksten. Heron klaagt er uitdrukkelijk over dat schrijvers die voor hem leefden niet duidelijk genoeg waren in hun boeken over automaten. Hij verwijst ook expliciet naar het thans verdwenen boek van Philo van Byzantium over automatische theaters. Ook de werken van Aristoteles bevatten referenties aan automaten, en zelfs in de Ilias van Homeros lijken sommige passages automaten ter sprake te brengen.
Moderne software heeft met andere woorden oeroude wortels.
Het heeft er dus alle schijn van dat automaten een onafgebroken traditie van overerving kennen, startend bij Philo van Byzantium over Heron, via de Arabische ingenieur Al-Jazari en Leonardo da Vinci naar de programmeerbare weefgetouwen van Jacquard. Moderne software heeft met andere woorden oeroude wortels.
Kris Merckx - Uit het boek: "Niet van gisteren". http://www.nietvangisteren.be