Dit is een artikel uit het NRC-archief De artikelen in het archief zijn met behulp van geautomatiseerde technieken voorzien van metadata die de inhoud beschrijven. De resultaten van deze technieken zijn niet altijd correct, we werken aan verbetering. Meer informatie.
Bekijk hele krant

NRC Handelsblad

Interview

De vader van programmeertaal Python struikelde over :=

Guido van Rossum, ex-Python-dictator

Computerpionier Guido van Rossum trekt de handen af van zijn programmeertaal Python. ‘De insinuatie dat ik m’n kompas een beetje kwijt ben, heeft me pijn gedaan.’

Guido van Rossum bedacht in 1990 computertaal Python. Nu stopt hij als ‘benevolent dictator for life’.
Guido van Rossum bedacht in 1990 computertaal Python. Nu stopt hij als ‘benevolent dictator for life’. Foto Peter Adams

Mooi is beter dan lelijk. Expliciet is beter dan impliciet. Simpel is beter dan complex.

Dit zijn de eerste regels uit de Zen of Python, een versje dat bij wijze van grap verstopt zit in een van de meest gebruikte programmeertalen ter wereld.

Python is het geesteskind van de Nederlandse computerpionier Guido van Rossum. Hij bedacht de taal in 1990 en begeleidde 28 jaar lang de ontwikkeling van nieuwe toevoegingen en verbeteringen, die iedereen mocht aandragen. Zo werd Python dagelijks gereedschap voor honderdduizenden programmeurs, beginnelingen en professionals – van datawetenschapper tot webontwerper.

Tot afgelopen maand. Toen schreef Van Rossum in een teleurgestelde brief aan de Python-gemeenschap, de kern van honderd programmeurs die bijdragen aan de code: „Ik wil nooit meer zo hard hoeven vechten en erachter komen dat zoveel mensen mijn beslissing verachten.”

Van Rossum, 62 jaar en sinds 1995 wonend in de VS, legt zijn rol neer als benevolent dictator for life – de ‘welwillende dicator voor het leven’. Hij is het gedoe van de open-bron-gemeenschap beu. „De insinuatie dat ik m’n kompas een beetje kwijt ben, heeft me pijn gedaan.”

De naam Python verwijst naar het Britse comedygezelschap Monty Python's Flying Circus. Programmeren moet leuk zijn, is het motto. Daarom heeft Python veel begrijpelijke commando’s en woorden – anders dan een programmeertaal als Perl die, zoals Van Rossum het zegt, „vrijwel volledig uit het bovenste rijtje van je toetsenbord bestaat, in shift-modus.” Symbolen als !@#$%^&* zien er voor een buitenstaander uit als een krachtterm in een stripalbum.

Python is overzichtelijker. „Eleganter”, zegt Van Rossum. Hij is schatplichtig aan ABC, een programmeertaal die het Centrum voor Wiskunde en Informatica (CWI) in de jaren tachtig voor pc’s ontwikkelde. Van Rossum begon in 1982 bij het CWI, dat later de bakermat van het Europese internet werd. „Ik herinner me de tijd dat ik met magnetische banden in mijn bagage naar de VS vloog om broncode te distribueren.”

ABC sloeg niet aan, maar Python draaide op krachtige Unix-systemen en had baat bij het prille internet: het zorgde voor snelle verspreiding en feedback op de code, waardoor de taal zich kon ontwikkelen. Dat was nodig ook, want Van Rossum was „wat kort door de bocht” van start gegaan, om snel resultaat te boeken.

Al die tijd waakte de Nederlander over welke functies en begrippen er in de taal werden opgenomen. Dit jaar werd hem echter verweten dat hij unpythonic was – niet handelde in de geest van datgene wat hij zelf verzonnen had. Via een videointerview in San Francisco geeft Guido van Rossum uitleg.

De geest van Python, wat is dat?

„Het idee is dat mensen woorden sneller begrijpen dan symbolen. Een woord heeft een betekenis in de echte wereld, een symbool niet – zeker niet die in computers gebruikt worden.”

Wiskundigen houden toch van symbolen?

„Dat ligt aan de beperkingen van het schoolbord, denk ik. Als je met een collega of studenten voor het bord staat te praten over een wiskundig probleem wil je niet zoveel tijd besteden aan het uitschrijven. Het is een traditie – wiskundigen introduceren liever een nieuw lettertype zodat ze kunnen zeggen: ‘gotische hoofdletters betekenen dit in mijn lijst’ dan dat ze gewoon een woord uitspellen.

„In de jaren vijftig veranderde er iets. We programmeerden computers eerst met ponskaarten en die kunnen maar een beperkt aantal speciale symbolen gebruiken. Er was zelfs geen verschil tussen hoofd- en kleine letters. Daarom zijn woorden handiger.”

Was het mijden van symbolen altijd uw doel?

„Ik wilde in Python alleen leestekens gebruiken die makkelijk te begrijpen zijn. Ik heb geen bezwaar tegen een komma, of tegen haakjes. Maar wel tegen een dollar of een ampersand (&-teken).”

Waar ging die discussie in de Python-gemeenschap over?

„Iets heel technisch: welke notatie we moesten gebruiken om een nieuwe variabele in te voeren, midden in een expressie. In dit geval had ik voorkeur voor een symbool in plaats van een woord.”

Welk symbool?

„Het werd een dubbele punt met een gelijkteken. Oftewel ‘:=’. Niet nieuw hoor, het wordt al sinds 1958 gebruikt in andere talen zoals Algol en Pascal.”

Toch lag het gevoelig.

„We hebben vier maanden over die toevoeging gedaan. Op een bepaald moment zijn er twee of drie redelijke voorstellen mogelijk en moet je een beslissing nemen. Ik was teleurgesteld dat ik niet veel steun kreeg en mensen bleven doorzeuren: please, please, please, kun je het niet terugdraaien...”

Kost het zoveel energie, zo’n open bron-gemeenschap?

„Ik sta altijd open voor nieuwe ideeën in Python. Maar vaak blijven mensen met hetzelfde slechte idee komen, of ze komen met een suggestie die alleen nuttig is voor gebruikers in een heel specifiek gebied. Soms blijven goede ideeën steken. Het werd me te intensief, de controversiële beslissingen. Ik ben erg voor inspraak, maar niet voor absolute democratie.”

Uit uw brief sprak teleurstelling. Voelt het alsof u uw eigen kind loslaat?

„Ik heb nog nooit mijn eigen kind losgelaten dus ik zou het niet weten.”

Dat is het antwoord van een wiskundige.

„Ik denk dat ik uitgebreid bij de toekomstige ontwikkeling van Python betrokken zal blijven – het is meer een eerste stap naar het bewust loslaten. Dat is moeilijk. Maar als ik er even geen zin in heb, hoef ik niet al die e-mails te lezen. Ik ben 62 en wil het graag rustiger aan doen. Maar ik zeg niet meteen mijn baan bij Dropbox op. Daar werk ik nog steeds vijftig uur per week.”

Honderdduizenden programmeurs gebruiken uw vinding. Nooit overwogen om het commerciëler aan te pakken?

„Ik heb altijd voor een baas gewerkt, voor wetenschappelijke instituten, voor start-ups, voor Google en nu voor Dropbox. Dat entrepreneurgedoe laat ik graag aan anderen over. Ik vind het heel prettig als er voor mijn natje en droogje wordt gezorgd, dan kan ik me specialiseren in de dingen waar ik goed in ben. Om ook nog eens personeel te selecteren en te ontslaan en met grote geldschieters te onderhandelen… daar zou ik niks van terecht gebracht hebben.”