Tuesday, March 3, 2015

‘Benevolent Dictator for Life’ over het succes van zijn computertaal Python

Computertaal Python is een van de meest gebruikte computertalen ter wereld. Precies 25 jaar geleden schiep de Nederlander Guido van Rossum de succesvolle taal.



Dit artikel is gepubliceerd in NRC Handelsblad van maandag 2 maart 2015

Guido van Rossum, cultheld onder computerprogrammeurs, fan van Monty Python en The Hitchhikers Guide to the Galaxy, komt me, gestoken in een Dropbox-T-shirt en sandalen, in zijn auto ophalen van het treinstation in Belmont, Californië. We hadden het interview bij zijn werkgever gepland, de cloud-opslagdienst Dropbox in San Francisco, maar van Rossums zoon werd ziek en hij besloot thuis te werken. Dropbox geeft de Nederlandse computerprogrammeur veel vrijheid. Tenminste de helft van de tijd mag hij besteden aan het verder ontwikkelen van computertaal Python, zijn geesteskind, dat precies 25 jaar geleden het licht zag.

Niet alleen Dropbox, maar ook Google, Mozilla, Walt Disney Feature Animation, banken en wetenschappelijke instituten als CERN en NASA zijn grootgebruikers van Python. Werkend aan het Centrum Wiskunde & Informatica (CWI) in Amsterdam, besloot Guido van Rossum in de kerstvakantie van 1989 een nieuwe computertaal te ontwerpen.“Ik had ervaring opgedaan met de computertalen Algol, C en Pascal, en ook met de op het CWI ontwikkelde, maar niet doorgebroken taal ABC”, zo vertelt van Rossum. Na twintig jaar wonen in de VS, spreekt hij met een Amerikaans accent, en, zo verontschuldigt hij zich, moet hij af en toe in z’n geheugen graven naar een Nederlands woord. “Ik had het idee dat we programma’s in een fractie van de tijd met een fractie van het werk zouden kunnen schrijven.” Een efficiëntere programmeertaal bouwen, dat werd zijn doel.

De geest van open source
Binnen drie maanden had van Rossum zijn eigen taal ontworpen: Python, vernoemd naar Monty Python. In 1990 werd Python binnen het CWI al snel populairder dan voorloper ABC. Van Rossum kreeg toestemming van het CWI om de taal ook internationaal te verspreiden. En hoewel het woord open source toen nog niet bestond, deed hij dat in de geest van wat nu open source heet: iedereen mocht zien hoe de taal was ontworpen en iedereen mocht voorstellen voor verbetering doen. “Ik dacht dat het verstrekken van Python onder een beperkende licentie ook het succes zou beperken, dus wilde ik Python zo open mogelijk houden.”

In 1991 volgde de internationale lancering en daarna groeide het aantal gebruikers van de taal exponentieel snel. Python-gebruikers hielpen en stimuleerden elkaar via een discussiegroep op internet. Van Rossum: “In 1994 ontstond er een discussie onder de titel ‘What if Guido were hit by a bus?’ Die ging over de vraag wat de Python-gemeenschap moest doen wanneer ik niet langer beschikbaar zou zijn. Daar rolde de eerste Python-workshop uit voort en die leidde weer tot mijn eerste baan in de VS en mijn vertrek uit Nederland. Python was geweldig, want daarmee konden wetenschappers plotseling zelf veel makkelijker programmeren dan voorheen. Het is snel te leren en te gebruiken en heel interactief. Samen met het open source-karakter heeft dat voor het succes gezorgd.”

Al jarenlang staat Python in de top-10 van meest gebruikte programmeertalen. De Python-gemeenschap eerde van Rossum met de schertstitel ‘Benevolent Dictator for Life’. Waar nodig is het de Nederlander die knopen mag doorhakken over syntactische aanpassingen of uitbreidingen van de taal. “Een collega die het leuk vond met taal te spelen heeft die term ooit verzonnen. Maar de werkelijkheid in Python is dat ik helemaal niet veel echte macht heb”, verontschuldigt van Rossum zich. “Ik ben wel heel intens bij de discussies betrokken. Maar ik zit vooral achter m’n computer e-mails te sturen. Dat is het enige wat ik kan doen. Ik heb alleen de macht van overreding.”

De software van het leven
In een tijdperk waarin de digitale revolutie vrijwel alle beroepssectoren diepgaand heeft beïnvloed, en waarin zelfs de dingen om ons heen beginnen te denken, uitgerust met kunstmatige intelligentie, is de vraag hoe het gesteld is met de stand van onze software. Als er iemand is die het kan weten, moet het toch wel van Rossum zijn. Maar hij is extreem bescheiden. “Ik ben helemaal niet visionair ingesteld”, antwoordt hij. “Om een voorbeeld te geven: ik werd in 1991 overrompeld door het world wide web. In algemene zin kan ik je vraag daarom niet beantwoorden.”

Een specifieke vraag dan maar: wat denkt van Rossum over de zelfrijdende auto? “De nabije toekomst is er een waarin de auto steeds meer zelfstandig dingen gaat kunnen, van in de rijbaan blijven tot inparkeren. Maar de geheel zelfstandig rijdende auto is nog ver weg. Er zijn heel veel situaties waarin de zelfrijdende auto het helemaal niet zo goed doet, en dat wordt er nu meestal niet bij verteld. De mens is visueel nog steeds veel beter. Zelf heb ik eigenlijk ook liever een auto die me helpt daar waar het nodig is, dan een auto die alles overneemt.”

Volgens een vuistregel is software-land bevat elke duizend regels programmeercode zo’n vijf tot tien fouten. Hoe moet dat dan in die zelfrijdende auto, wanneer de software steeds meer te vertellen krijgt? Dat hoeft volgens van Rossum echter geen probleem te zijn. “Vergelijk het maar met de biologie”, zegt de Python-ontwerper. “De code van het leven staat geschreven in het DNA. Dat bevat ongelofelijk veel fouten. Toch werkt het in het algemeen heel goed in een organisme. Dat komt omdat een organisme verschillende lagen van abstractie bevat en elke laag vol zit met correctiemechanismen. Sommige systemen, zoals de energiefabriekjes in een cel, zijn oud en goed genoeg. Het is beter om ze niet proberen te verbeteren, want dan gaat er ongetwijfeld ergens anders iets mis. Precies zo is het met software. De oudere lagen in de software veranderen niet, omdat ze robuust en goed genoeg zijn.”

Softwarefouten zullen het oprukken van denkende dingen dus niet tegenhouden, denkt van Rossum. “Als je fietst, kun je dat vaak zonder bewust na te denken doen. De fiets is als het ware een deel van jezelf geworden. Net zo is de mobiele telefoon ook een onderdeel van onszelf geworden. Je bent je niet meer bewust van de telefoon als apparaat, maar alleen van de applicatie: bijvoorbeeld dat je een bericht hebt ontvangen van een vriend. Software gaat steeds meer een onderdeel van onszelf worden. Daarvan is het einde nog lang niet in zicht.”

---------------------------------------------------------

CV
Guido van Rossum (1956) studeerde wiskunde aan de Universiteit van Amsterdam (UvA), met als bijvak informatica. Net afgestudeerd, trad hij in 1982 in dienst van het Centrum Wiskunde & Informatica (CWI) in Amsterdam. Daar ontwikkelde hij in 1990 de eerste werkende versie van computertaal Python, vernoemd naar het Britse komische programma Monty Python’s Flying Circus. In 1995 verhuisde van Rossum naar de VS, waar hij als software-ingenieur achtereenvolgens werkte bij NIST, CNRI en Google. Sinds december 2012 werkt hij bij de clouddienst Dropbox in San Francisco. In 2001 ontving hij de Award for the Advancement of Free Software. In 2006 werd hij door de grootste professionele vereniging van informatici ter wereld, de Association for Computing Machinery (ACM), erkend als Distinguished Engineer. In Nederland won Python de COMMIT/ ICT-Award 2013.

----------------------------------------------------------

In het NTR-radioprogramma De Kennis van Nu heb ik delen van mijn interview met Guido van Rossum laten horen. Presentatie was in handen van Karin van den Boogaert. Klik hier voor de link naar het audiofragment.