De universiteit van Antwerpen benoemde vorige week vrijdag Don Knuth tot bijzonder hoogleraar. Knuth is een van de grondleggers van de ict-wetenschap. Zijn werk maakte van de informatica een vak waar wiskundigen respect voor hebben, en vice versa. Interview met een man die 'de programmeertaal niet zo belangrijk' vindt.
Bij de voorbereiding van mijn vragen werd ik allengs verlegener. Men noemt u de vader van de computerwetenschap, en vergelijkt uw werk met dat van Einstein. Wat vraagt een journalist nou aan Einstein?
“Ach, zo’n vergelijking is makkelijk opgeschreven hoor. Tjee, staat dat allemaal op dat internet? Wat is het toch handig. Tik je in Google ‘Don’ in, dan staat mijn site voorop. Dat komt omdat ik het woord don’t op mijn site heb staan.”
U doorgrondde het geheime algoritme van Google?
“Kennelijk.”
Vorige week donderdag opende u het nieuwe gebouw van de faculteit voor Wiskunde en Informatica van de Universiteit van Antwerpen. Is het een mooi gebouw?
“Het was een aardige ceremonie. Na enkele toespraken trok ik een blauwe doek weg, waarachter een plaquette zat over de opening van het gebouw. Ik heb inmiddels tien keer zoiets meegemaakt, en . . .”
“In Princeton. Harvard, Stanford uiteraard (zijn eigen universiteit, GH), Oslo, en Warwick in Groot-Brittannië….”
“Dat van Antwerpen behoort wel tot de mooiste, denk ik.”
U hield de dag ervoor een voordracht over het Genoegen van Technische Illustraties? Wat is dáár nou leuk aan?
Knuth lacht. “Wanneer je bezig bent met een boek en je wilt illustraties maken, gaf je vroeger een opdracht aan een tekenaar. Die stuurde dan een tekening, die in dat boek kwam. Ik werk met wiskundige formules, dat luistert allemaal heel erg nauw. Het moet er niet mooi uitzien, het moet precies goed zijn. De richting van een pijl, de spatiëring.”
“Ik wil dat het lettertype van de tekst hetzelfde is als in de illustratie. Een tekenaar gebruikt een ander font, heeft een andere stijl…. Ik heb er een prachtig instrument hiervoor. In Antwerpen heb ik mijn gehoor honderd voorbeelden omtrent het oplossen van problemen met technische illustraties. Veel mensen in de zaal erkenden hoe nuttig dat is.”
Heeft u vooraf nog de microfoon getest?
“Inderdaad met ’testing 0,1,0,1′. Maar dat is inmiddels een oud grapje, merk ik. Niemand lachte erom.”
Twee jaar geleden zei u in München, op een bijeenkomst tegen softwarepatenten, dat wiskunde het eigendom van God is. Iets wiskundig formuleren, daar zou niemand het eigendomsrecht over mogen krijgen, zei u.
“Dat was vlak voor een belangrijke wetswijziging. Ze hoopten dat ik me tegen softwarepatenten zou uitspreken. Ik ben tegen triviale softwarepatenten. Ik voel wel voor hun standpunt. Software moet gedeeld worden, het is om mensen te helpen. Je moet niet iets ontwikkelen en er vervolgens zeventien jaar lang niets meer aan doen, behalve geld vangen voor het gebruik van je vinding.”
|
||
|
Wanneer publiceert u eindelijk deel vier van uw encyclopedische werk ‘The art of computer programming’? Het eerste deel van Taocp verscheen 35 jaar geleden. Het derde deel is al dertig jaar oud. Komt het ooit af?
“Ik schrijf zo’n 250 bladzijden per jaar. Ik weet nog niet bij welk aantal pagina’s ik het werk als af beschouw. Het is bijna af. Ik begon er al mee voor mijn geboorte, denk ik. Ik weet nu bijvoorbeeld welke onderwerpen erin horen. Die moeten over vijftig jaar nog relevant zijn. Ik vat de eenvoudigste problemen samen voor de experts en van de minder eenvoudige zaken geef ik aan hoe ze er meer over te weten kunnen komen.”
“Ik wil kennis vastleggen die op het punt staat te verdwijnen. Veel van de eerste ict’ers beginnen uit te sterven. Maar in de begintijd speelde het probleem ook al; we ontdekten dingen die we al wisten. We maakten stomme fouten die we al eens gemaakt hadden. Ik kon dat als beste opschrijven, want ik had niets ontdekt of uitgevonden. Ik was onbevooroordeeld. Later heb ik toch wat uitgevonden. Nu heb ik zelf net zo’n gekleurde bril.”
Donald E. Knuth (B.S. and M.S., Case Institute of Technology 1960; Ph.D., California Institute of Technology 1963) is Professor Emeritus van The Art of Computer Programming van Stanford University. Sinds zijn aantreden in 1968 begeleidde hij 28 promovendi. Hij publiceerde diverse boeken, waaronder de eerste drie delen van The Art of Computer Programming, vijf delen van Computers & Typesetting, and a non-technical book entitled Bible Texts Illuminated. Zijn software Tex en MF wordt in alle delen van de wereld gebruikt bij het publiceren. Knuth is lid van zes vooraanstaande internationale academische instituten. In 1974 ontving hij de Turing Prijs van de Association for Computing Machinery, in 1979 de National Medal of Science van President Carter en in 1986 de Steele Prize van the American Mathematical Society. Andere prijzen zijn de Adelsköld Medal van de Royal Swedish Academy of Sciences in 1994, de Harvey Prize van de Technion of Israel in 1995, de John von Neumann Medal van het Institute of Electrical and Electronic Engineers in 1995 en de Kyoto Prize van de Inamori Foundation in 1996. Naast Antwerpen werden hem eredoctoraten toegekend in Oxford, Parijs, Stockholm, St. Petersburg, Marne-la-Vallée, Masaryk University, St. Andrews University, Athene, Tübingen, Oslo, en door nog zestien universiteiten in de Verenigde Staten. |
Doelt u op de bij wetenschappers populaire opmaakmakrotaal, Tex?
“Tex is niet het resultaat van onderzoek. Ik bestudeerde (bij het schrijven van de eerste drie delen van Taocp , GH) tevens de geschiedenis van de boekdrukkunst. Ik heb toen Tex bedacht, een systeem dat de tweeduizend toen bekende basisbeginselen verving door tweehonderd. Helaas wist ik het niet tot vijf terug te brengen.”
Hij zucht.
“Mijn programma doet in 50k wat een ander programma pas met 50Mb kan. Het indelen van een paragraaf, het afbreken van woorden, het is niet veel meer dan het vaststellen van het proces op een uniforme wijze. Echt onderzoek heb ik gedaan naar de manier waarop je het best kunt programmeren. Dat is de basis geweest voor de nu bekende compilers, waarmee programmacode daadwerkelijk in uitvoerbare programma’s wordt omgezet. Dat werk dateert uit 1964.”
“Ik heb ook meegewerkt aan een aantal algoritmen. Bijvoorbeeld een die vaststelt wat de betekenis, de waarde van programmeertalen is. En met Knuth-Morriss & Pratt bijvoorbeeld zoek jij in een tekstverwerker naar woorden. Al die zoekfuncties maken gebruik van onze wiskunde. Een van mijn uitvindingen leidde tot zo’n duizend wetenschappelijke publicaties over matrices van integers en arrays van integers. Het bleek voor fysici een heel interessante theorie.”
U naam duikt op bij allerlei programmeertalen waar ik nog nooit van gehoord heb. Bijvoorbeeld Cweb en Intercal. Die laatste is alleen voor technomasochisten, aldus programmeur Eric Raymond. Is er ooit een ‘beste’ taal?
“Taal is zo ingewikkeld, het kan altijd anders. Alles wat complex is, kan op meerdere manieren worden gedaan. De programmeertaal is echter niet zo belangrijk. De doorslag geeft de debugger (gereedschap voor het opsporen van programmeerfouten, GH). Ik heb er ooit een zelf geschreven. Maar degene die nu met besturingssysteem Linux wordt meegeleverd, die voldoet uitstekend. Linux en ik vormen een aardig team. We weten ons werk aardig snel te klaren.”
Gebruikt u Linux? En toch gebruikt u geen e-mail. Hoe kun u dan Linux goed gebruiken?
“Tja, daar puzzelde ik wel even mee. Ik kreeg eens een foutmelding, omdat mail-berichten die het systeem automatisch maakte, niet bezorgd konden worden.”
Wat vindt u van de rechtszaak van SCO tegen IBM? Of de waarschuwingsbrief van SCO aan 1500 bedrijven die Linux gebruiken?
“Daar heb ik nog niet van gehoord. Wat is SCO?”
Caldera?
“Hm. Dat ken ik wel.”
SCO stelt dat IBM bepaalde delen van SCO’s Unix-code illegaal in Linux heeft gestopt. Het gaat om code waarmee Linux op meer dan vier processoren tegelijk kan rekenen.
“Het lijkt me niet dat Andrew Tanenbaum (uitvinder van Unix-voor-de-Intel-286-processor Minix, wat de aanleiding vormde voor Linux, GH) of Linus Torvalds (de uitvinder van Linux, in eerste instantie voor de Intel 386 processor) daar niet al over nagedacht hebben. Dat zijn zelfs opdrachten die wij onze studenten geven.”
Wel gek dat u er niet over heeft gehoord.
“Ik las er niets over in mijn krant, The International Herald Tribune. Zo vreemd is dat trouwens niet. De krant komt altijd een of twee weken te laat. Hij wordt per post uit Parijs verstuurd. Maar ik woon in Californië.”
Wat!
“Het is best interessant om het nieuws twee weken later te lezen.”
U stelde Tex vrij beschikbaar, het was een van de eerste open source programma’s. Het maakte u beroemd, maar niet rijk.
“Wat moet een mens met veel geld? Een comfortabel inkomen, dat is voldoende. Ik was in Praag. Daar wachtte ik op de tram, en zo ontdekte ik dat ze daar het vervoerschema met Tex hebben gemaakt. Ik heb voor die mensen wat betekend. Dat is toch het mooiste wat er is? Wel jammer dat ik die hoofdletter S niet beter heb ontworpen.”
|
||
|
Werkt u nog aan het besturingssysteem Mmix?
“Een van de beste manieren om computers te doorgronden, is het bestuderen van een besturingssysteem. Mmix is gebaseerd op een risc-processor en leert je om effectief te programmeren. Wat gebeurt er met je programma als je de hoeveelheid geheugen verandert? Assembler, machinetaal, is voor die oefening het meest geschikt. Mmix wordt veel gebruikt op universiteiten in Duitsland.”
U heeft een voorkeur voor ‘literal programming’. Kunt u uitleggen wat u daarmee bedoelt?
“Het is de combinatie van journalistiek en programmeren. Je maakt een voor mensen leesbaar verslag over wat je met het programma wilt. Door gebruik te maken van Tex, (als een soort zetcoderingen, GH) kun je dan ook, waar dat zinnig is, stukjes programmacode invoegen. Hieruit ontstaan twee versies. De één wordt een pdf- of een hypertekst-document, de andere wordt klaargemaakt voor de processor, die het compileert, debugt en de fouten weergeeft.”
“Het is de beste manier om fouten te vermijden. Het enige minpuntje: programmeurs moeten niet alleen kunnen programmeren, maar ook nog schrijven. Dat is geloof ik een zeldzame combinatie.” < BR>