What if Guido were hit by a bus?

De computertaal Python is erg populair. De Nederlander Guido van Rossum schreef de taal 25 jaar geleden in drie maanden, maar heeft er nu een halve dagtaak aan. Software wordt steeds meer een onderdeel van onszelf, zegt hij.

De informaticus Guido van Rossum is een cultheld onder computerprogrammeurs, en fan van Monty Python en The Hitchhikers Guide to the Galaxy. Hij komt me, gestoken in een T-shirt met het logo van Dropbox en sandalen, met zijn auto ophalen van het treinstation in Belmont, Californië.

We hadden het interview gepland bij zijn werkgever: 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. Ten minste 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”, vertelt Van Rossum.

Na twintig jaar 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.

Python, dat komt van Monty Python

Binnen drie maanden had Van Rossum zijn eigen taal ontworpen: Python, vernoemd naar Monty Python. In 1990 werd Python binnen het CWI snel populairder dan voorloper ABC. Van Rossum kreeg toestemming van het CWI om de taal ook internationaal te verspreiden. En hoewel de term ‘open source’ toen nog niet bestond, deed hij dat wel in die geest: 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 jaren staat Python in de top-10 van meest gebruikte programmeertalen. De Python-gemeenschap eerde Van Rossum zelfs met de schertstitel ‘Benevolent Dictator for Life’. Waar nodig is het de Nederlander die knopen doorhakt 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 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.”

Apparaten beginnen te denken

In een tijdperk waarin de digitale revolutie vrijwel alle beroepssectoren steeds diepgaander beïnvloedt, en waarin zelfs allerlei apparaten om ons heen beginnen te denken dankzij kunstmatige intelligentie, is de vraag hoe het gesteld is met onze software. Want als er iemand is die het kan weten, moet het wel Van Rossum zijn. Maar hij is 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 auto zal in de nabije toekomst steeds meer zelfstandig dingen kunnen, van in de rijbaan blijven tot inparkeren. Maar de geheel zelfstandig rijdende auto is ver weg. Er zijn heel veel situaties waarin de zelfrijdende auto het helemaal niet zo goed doet. Dat wordt er nu meestal niet bij verteld. De mens is visueel nog steeds veel beter. Zelf heb ik ook liever een auto die me helpt waar het nodig is, dan een auto die alles overneemt.”

Vijf tot tien fouten per duizend regels

Volgens een vuistregel in software-land bevatten 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 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 ongelooflijk 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 niet te proberen ze 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, doe je dat vaak zonder bewust na te denken. 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.”