Reisverslag van Edsger W. Dijkstra aan Summer School Marktoberdorf, juli 1971.

De alles overheersende indruk van de International Summer School on Program Structures and fundamental Concepts of Programming is “vermoeiend”: elke werkdag strekte zich uit van 8.20 in de ochtend tot 18.15 in de late middag. Ter ontspanning hebben we een dag een excursie door de Beierse Alpen gehad, die zo mogelijk nog afmattender was! Onze reis (samen met Bomhoff en Feijen in de auto van de laatste) was zowel heen als terug heel voorspoedig, statistisch gezien zelfs onwaarschijnlijk voorspoedig. We vertrokken op een zondagmorgen om vijf uur uit Eindhoven en waren in het begin van de middag in Marktoberdorf. Voor het weekend van de terugreis hoorden we zo alarmerende voorspellingen over de “Urlaubswelle” op de autobanen, dat we vrijdagavond om kwart voor elf haastig zijn vertrokken; om kwart voor zeven zaterdagmorgen stand Bomhoff op zijn stoep in Leende. We hebben die nacht wel ettelijke ongelukken en onvoorstelbaar lange files gezien, maar de files stonden gelukkig voor ons in de tegengestelde richting. Ik heb wel het gevoel, dat we door het oog van de naald gekropen zijn en of ik het nog een keer aandurf, staat erg te bezien.

Zoals al even aangeduid was het gedeelte “ontspanning” even overladen als de summer school zelf. Op de tweede avond was er een Beierse avond, gekarakteriseerd door literglazen bier, de zaterdag werd in beslag genomen door een excursie naar München, waar de deelnemers langs ik weet niet hoeveel musea gesleurd zijn. Beide evenementen heb ik om mijn zwakke lichaam te sparen overgeslagen. Ik ben wel meegeweest naar de excursie door de Beierse Alpen: twee kerken, twee kastelen en een klooster. De kastelen waren gebouwd door Ludwig de tweede van Beieren, die kennelijk knettergek is geweest; nochtans toonden de Beieren deze kastelen met een onbegrijpelijke trots. Het kasteel Neuschwanstein kan ik iedereen, die zich superieur wil voelen, van ganserharte aanbevelen. Het is een hele klim, maar boven op de berg vind je dan wel iets unieks van lelijkheid, elke kamer gewijd aan een opera van Wagner!

Nou de Summer School zelf. Er waren ongeveer tachtig deelnemers uit pakweg vijftien landen. Voor de Italianen en de Fransen was de taalbarriere —de officiele taal van de Summer School was Engels— kennelijk bijna niet te nemen: zij hakten bij hun landgenoten bij elkaar en het was als spreker erg moeilijk om enige terugkoppeling tot stand te brengen. Zelfs de Duitsers, die over het algemeen geen moeilijkheden hadden om de verhalen te volgen, mengden zich maar heel schroomvallig in de discussies. Het resultaat is, dat ik nog geen duidelijk idee heb van het peil van de deelnemers, ik denk dat het een vrij gemengd stel was. Gemiddeld wel met vrij wat ervaring, maar sommigen uitgesproken theoretisch, sommigen uitgesproken practisch gericht. Van de sprekers stal C.A.R.Hoare uit Belfast ongetwijfeld de show: hij trad elke morgen na het ontbijt op. (Hij had gevraagd “vroeg” te mogen spreken: in plaats van in het begin van de Summer School sprak hij aan het begin van elke dag!) Hij sprak over axiomatisering van in programmering gangbare begrippen. Het leuke was, dat hij dit niet alleen koppelde aan bewijsvoering van de correctheid van programma’s, maar ook aan elementen van programmeertalen. Het was verder louterend te observeren, dat hij met veel reserve sprak over de beperktheid van zijn onderwerp: hij liet duidelijk merken, dat in allerlei gevallen het leveren van een formeel correctheidsbewijs hem niet reeel voorkwam. Zo’n beetje in de trant van “je moet een correctheidsbewijs kunnen leveren, indien je daartoe uitgedaagd wordt, maar het is niet iets om aldoor te doen.”.

N.Wirth uit Zürich sprak de eerste week acht uur over zijn schepping, de programmeertaal Pascal. Het was jammer, dat hij zich een beetje in de hoek liet drukken, van waaruit hij deze programmeertaal moest verdedigen, zodat hij betrekkelijk veel over de programmeertaal Pascal zelf gesproken heeft en veel minder over zijn implementatieervaring. Dat laatste was jammer, want hij heeft daarmee een bijzonder mooi stuk werk geleverd, daarmee mijn indruk bevestigend, dat hij een van Europa’s meest competente programmeurs is. De Pascal-vertaler is eerst in Pascal geschreven, daarna voor zover nodig voor zijn eigen vertaling met de hand in een paar weken tijd “vertaald” in iets voorradigs: twee weken, nadat ze voor het eerst toegang tot de machine hadden gehad, vertaalde de Pascalvertaler zichzelf! Hoare gebruikte nu hun Pascalvertaler voor een bootstrap voor de ICL-machine in Belfast en was ongelofelijk enthousiast. Omdat hier metterdaad bewezen is, dat bootstrapping een reele techniek is, had ik over die ervaring wel meer willen horen. Maar we weten het in elk geval.

De status van Pascal werd niet alleen ondersteund door Hoare’s axiomatiseringspogingen —Hoare heeft in het ontwerp van Pascal een aanzienlijke hand gehad— maar ook, doordat Per Brinch Hansen zich ervan bediende om operating system principles in te beschrijven. Brinch Hansen is afgelopen jaar, gedeeltelijk samen met Nico Habermann, bezig geweest aan een boek over “Operating System Principles” en nam in zijn verhalen deze tekst door. De tekst was wel aardig, maar werd niet prettig gebracht. Als spreker is hij een beetje monotoon, hij voelde zich bovendien niet op zijn gemak: het zat hem kennelijk niet lekker, dat hij zoveel aan mij had moeten ontlenen en kreeg daardoor, op zoek naar een eigen positie, iets querolanterigs. Op een avond in het hotel is dat tot een heel nare uitbarsting gekomen; ik heb geprobeerd, dit zoveel mogelijk langs me te laten afglijden, maar dat lukte niet. Ik heb daarna die nacht nauwelijks geslapen en was de volgende dag, toen ik spreken moest, dan ook niet zo erg op dreef.

De grote Alan J.Perlis vond ik slecht. Hij spreekt met ontzettend veel gemak. Om niet te zeggen bluf; zijn grapjes zijn altijd het meest zorgvuldig voorbereide gedeelte van zijn voordracht en het is een genoegen om naar hem te luisteren, zolang je niet critisch luistert naar wat hij zegt. Tot zijn ongeluk deed een fractie van het gehoor hetlaatste wel, in de discussies is het het vuur nogal na aan de schenen gelegd en hoewel hij ogenschijnlijk er ongeschonden uitkwam, was dat niet zo. Zijn eigenlijke onderwerp was LCC, een conversational language, die in Carnegie-Mellon ontwikkeld is. Maar dit was bijzonder moeilijk te verdedigen in dit gehoor, het ging lijnrecht in tegen de ideeen over programma structurering, zoals die door Wirth, Hoare en mij gepreekt werden. Verder viel hij om de andere lezing terug in APL, waartoe hij onlangs bekeerd was en ook hier faalde zijn overtuigingskracht. Ik heb hem nooit zo onzeker meegemaakt; misschien had het er mee te maken, dat hij Carnegie-Mellon had verlaten en een week tevoren naar Yale University was overgestapt om daar (in een omgeving beroemd voor zijn “humanities”) een nieuw leven te beginnen. Hij maakte professioneel niet een gelukkige indruk.

John Reynolds is me enorm meegevallen. De eerste week sprak hij erg ongeinteresseerd over “Gedanken”, een eigen taalexperiment, waarop hij zelf is uitgekeken. Het is een experiment, waarvan mij de zin nooit helemaal duidelijk is geworden, ook nu nog niet. De tweede week heeft hij besteed aan een globale indruk van het werk van Dana Scott. Hoewel ik lang niet genoeg van lattice Theory afwist, om dit helemaal te kunnen volgen, dacht ik wel een indruk gekregen te hebben van de aard en pretentie van dit werk. Als ik een keer niets te doen heb, zal ik me er in verdiepen, hoewel het ten duidelijkste niet “my cup of tea” is. Daarenboven waren zijn voordrachten de tweede week voortreffelijk voorbereid; hij heeft zich in mijn ogen aardig gerehabiliteerd.

Rudolf Bayer was voor mij practisch nieuw, ik had hem een keer ontmoet (bleek), maar was dat vergeten. Hij hield een serie voordrachten over “balanced trees”. Dit was helemaal niet diepzinnig, maar lijkt van groot practisch nut. Het was een genoegen om naar hem te luisteren, zowel omdat hij iets nieuws behandelde, als omdat ook hij het keurig presenteerde. Hij etaleerde misschien niet zoveel “visie”, maar rapporteerde keurig over een leuk en degelijk stuk werk. Het was erg verfrissend en ik van blij hem gehoord te hebben.

Ole-Johan Dahl uit Oslo hield als gast twee voordrachten, iedere keer was dit de zevende voordracht van de dag. Als hij nou een begaafd spreker was geweest, had hij deze handicap misschien overwonnen, nu ben ik bang dat hij het grootste gedeelte van zijn publiek niet bereikt heeft. Ik had hem hier al eens eerder over gehoord, het ging over recursieve co-routines. Het was wel een leuk verhaal, maar hij is moeilijk te volgen. Hij denkt op virtuoze manier in kleine gadgets, tot zijn verdediging moet gezegd worden, dat hij zijn uiterste best doet, er systeem in te brengen, Ik kon niet aan de indruk ontkomen, dat zijn omgeving pressie op hem uitoefent zijn verhaal “academically respectable” te presenteren, hoe inadequaat die plaatselijk heersende normen ook zijn mogen, kortom de bekende tragedie.

Zelf moest ik vier keer optreden, op de eerste vrijdag een uur en op de laatste drie dagen elk een uur. Het ogenblik was heel prettig, na de “morning refreshments”. Doordat sommige sprekers —vooral Brinch Hansen— mij nogal wat gras voor de voeten wegmaaiden, was ik in het begin erg bang niet genoeg stof te hebben, waardoor ik de eerste keer mij zelf veel te omstandig inleidde; ik was bovendien erg zenuwachtig. Later bleek, dat ik een heleboel moest overslaan, dat ik ruimschoots genoeg stof had voorbereid; ik was toen ook veel minder zenuwachtig. De tweede keer ging goed, de derde door de slechte nacht ervoor veel minder, de laatste keer ging dacht ik heel goed. De titel van mijn manuscript was “Hierarchical Ordering of Sequential Processes”, Hoare heeft gevraagd of hij het mocht opnemen in de publicatie van de geschriften ter gelegenheid van het Symposium on Operating System Techniques, dat begin september in Belfast gehouden wordt, Bauer vroeg of hij het mocht publiceren in Acta Informatica. (Dat laatste verzoek heeft minder te betekenen: Acta Informatica is een nieuw tijdschrift, dat nog op zoek is naar een gezicht.)

Laat mij nu proberen mijn totaal indruk van de Summer School samen te vatten. Als ik een enkel woord zoek, dat de stemming zo veel mogelijk dekt, dan kom ik op het woord “consolidatie”: dat geldt voor Reynolds (Scott) ten aanzien van grondslagen, dat geldt voor Hoare ten aanzien van elementen van programmeertalen, dat geldt voor Wirth ten aanzien van implementatie, ten aanzien van Brinch Hansen ten aanzien van operating systems, ten aanzien van mijn bijdrage ten aanzien van parallel programmeren, ten aanzien van Bayer met betrekking tot information retrieval, alleen Perlis valt daar een beetje buiten. Ik heb het gevoel, dat dit naar voren komen van de term “consolidatie” inderdaad direct verband houdt met de status van het tot wasdom komende vak en niet alleen een gevolg is van mijn persoonlijke stemming van dit ogenblik. Het feit dat de titel van deze Summer School o.a. “Fundamental Concepts of Programming” bevatte, is hier misschien niet vreemd aan, anderzijds is deze titelkeuze natuurlijk ook wel tekenend. Tekenend is ook, dat Fortran, Cobol, PL1 en Algol 68 nauwelijks ter sprake zijn geweest!

Persoonlijk heeft mij nog iets anders getroffen, misschien omdat ik na Perlis de oudste spreker was. Onder vakgenoten van de tweede generatie was een zekere wrok bespeurbaar jegens “the inner circle”, die het vak heeft afgeroomd (en naam heeft gemaakt!) toen het vak nog makkelijk en door zijn nieuwheid opwindend was. Zij vinden het erg moeilijk om “gevestigd” te worden. Dit geldt niet alleen voor de jongens die aan de Amerikaanse carrieredruk hebben blootgestaan, ik merkte dit ook bij onbesmette Europeanen. Jonge Duitse collegae hadden hier het minste last van: de opblazing van het curricum informatica vult hun hele dag en nog meer, ze hebben geen tijd om zich zorgen te maken over hun positie, ze werken zich gewoon kapot.

 

2 augustus 1971 Edsger W.Dijkstra