Het programmeren van computers is moeilijk, vooral als je wilt dat programma's correct werken. Er zijn verhitte discussies over de beste methoden om dit te bereiken. Om beter te begrijpen wat programmeren is en hoe het moet worden gedaan, reconstrueerde en analyseerde CWI-promovendus Gauthier van den Hove het eerste ALGOL 60 systeem, een computersysteem ontworpen en geïmplementeerd op het Mathematisch Centrum (MC, nu CWI). Op 15 februari verdedigt hij zijn proefschrift ‘New Insights from Old Programs - The Structure of the First ALGOL 60 System’ aan de Universiteit van Amsterdam. Van den Hove's resultaten zijn niet alleen interessant voor computerwetenschappers, maar ook voor wetenschapshistorici en filosofen. Het proefschrift heeft een voorwoord van de beroemde Amerikaanse computerpionier en Turing Award winnaar Donald Knuth.
Prof. Donald Knuth (Stanford University), die ook bekend is als de maker van opmaaktaal TeX, schreef in 2017 het voorwoord voor dit proefschrift. Knuth: “Dit boek is een belangrijke aanvulling op de literatuur. Het is voorbestemd om een klassieker te worden, omdat het niet alleen de schoonheid van een diepgaand origineel en invloedrijk computerprogramma onthult, maar het ook de enorme betekenis van dit programma verklaart (.....). Dit fascinerende boek dient als model voor de wetenschapsgeschiedenis: het bewijst dat geweldige software een geweldig verhaal maakt, zonder te beknibbelen op technische details".
Gauthier van den Hove vertelt over zijn onderzoek: “Er kan veel over computerprogrammering en over de methoden die daarbij worden gebruikt worden geleerd door modelprogramma's te bestuderen. Ik heb een bijzonder goed gemaakt computerprogramma gereconstrueerd: het eerste ALGOL 60-systeem, ontworpen en geïmplementeerd op het Mathematisch Centrum (MC), nu CWI, door Edsger Dijkstra en Jaap Zonneveld, met de hulp van Fiek Christen en Marlene Römgens , op een Electrologica X1-computer. Mijn onderzoek bestaat uit drie delen. Ten eerste de twee facetten van het probleem waarmee het MC-team werd geconfronteerd, namelijk de ALGOL 60-taal en de X1-computer. Ten tweede de principes van de oplossing - de implementatiekeuzes die het MC-team heeft gemaakt in vergelijking met andere mogelijkheden.Ten derde, de details van het MC ALGOL 60 systeem, reverse engineered vanuit de X1 assembler bron”.
Van den Hove's promotor prof. Paul Klint (CWI en UvA) voegt daaraan toe: "Het is een unieke reconstructie en analyse van een van de meest invloedrijke compilers uit de geschiedenis van de informatica". Prof. Donald Knuth schrijft in zijn voorwoord: “Grote computerprogramma’s behoren tot de belangrijkste intellectuele prestaties in de menselijke geschiedenis. Goed geschreven boeken over dergelijke meesterwerken zullen ongetwijfeld programmeurs van jong tot oud bezighouden en ons inspireren om ons bereik te blijven uitbreiden".
Dit onderzoek is uitgevoerd in de onderzoeksgroep Software Analysis and Transformation (SWAT) van het CWI in Amsterdam. SWAT bestudeert het ontwerp, de constructie en evolutie van softwaresystemen om ze te begrijpen en de kwaliteit ervan te verbeteren. Het onderzoek is gefinancierd door NWO.
Meer informatie
- Promotores zijn prof. dr. P. Klint (CWI, UvA) en prof. dr. T. van der Storm (CWI, RUG)
- Homepage van de SWAT-onderzoeksgroep van het CWI
- Een deel van het proefschrift van G.M.C.J.T.G. van den Hove d'Ertsenryck is te vinden in CWI’s instituutsrepository: https://ir.cwi.nl/pub/28427/ (Omdat Van den Hove het manuscript als boek wil publiceren, is slechts een deel hiervan gepubliceerd.)
- Van den Hove's promotie op de webpagina's van de UvA-agenda