18-02-2019

CWI: Nieuwe inzichten uit reconstructie van eerste ALGOL 60 systeem

Deel dit bericht

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 heeft van den Hove zijn proefschrift ‘New Insights from Old Programs - The Structure of the First ALGOL 60 System’ aan de Universiteit van Amsterdam verdedigd. 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".

Implementatiekeuzes
Volgens Gauthier van den Hove kan er veel over computerprogrammering en 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.”

Unieke reconstructie
Van den Hove's promotor prof. Paul Klint (CWI en UvA) voegt 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".

Het 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. Promotores waren prof. dr. P. Klint (CWI, UvA) en prof. dr. T. van der Storm (CWI, RUG).

Partners