Inhoudsopgave
    

Bij Dropbox spreekt iedereen Nederlands
Niels & David
door Niels & David
leestijd: 11 min

De Nederlander Guido van Rossum ontwikkelde de populaire programmeertaal Python. Voor nerds is hij een levende legende. Niels en David zochten hem op in San Francisco waar hij tegenwoordig werkt bij Dropbox.

Programmeertalen zijn het onzichtbare fundament van de apps en internetdiensten die we dagelijks gebruiken. Net als gesproken talen zijn ze constant aan verandering onderhevig. Sommige raken uit de mode, andere zijn juist in opkomst. En jaarlijks komen er nieuwe bij.

Voor niet-ingewijden is zelf code schrijven al een brug te ver, laat staan een totaal nieuwe programmeertaal vanaf nul ontwikkelen. Is dat niet verschrikkelijk moeilijk? Hoe kom je ertoe? Waar begin je? En is een nieuwe taal überhaupt wel nodig als er al honderden bestaan?

De Nederlandse computerwetenschapper Guido van Rossum begon 'zijn' taal Python eind jaren tachtig niet uit grootse ideologische gedachten (en reken maar dat die bestaan onder programmeertaalfanatici) maar puur uit pragmatisme. Van Rossum wilde een overzichtelijke, flexibele taal, die tijd zou besparen bij de klus waarmee hij op dat moment bezig was. Met een knipoog vernoemde hij de taal naar de Britse grappenmakers van Monty Python.

Een kwart eeuw later lijkt Python haast niet te stoppen. Hoewel het in de TIOBE-index, die de populariteit van programmeertalen bijhoudt, 'slechts' op de achtste plek staat, is Python op het web de derde meest gebruikte taal, na Java en PHP. Als 'general purpose scripttaal' heeft het bijvoorbeeld PERL inmiddels lang en breed verslagen. Maar misschien nog veelzeggender: op Amerikaanse universiteiten is het de nummer één taal om studenten te leren programmeren. Sowieso is Python populair onder wetenschappers, en trouwens ook op Wall Street, voor het betere geïmproviseerde rekenwerk. Webbedrijven lopen ermee weg. Google, waar de nu 58-jarige Van Rossum zeven jaar werkte, doet er veel mee. Dropbox blijkt zowat op Python gebouwd te zijn. Niet gek dus dat Van Rossum daar sinds begin 2013 vast in dienst is.

De Dropbox-tour

Als Van Rossum ons ontvangt in het Dropbox-hoofdkantoor in downtown San Francisco, krijgen we eerst de grand tour. Het is er precies zoals in de verhalen die je hoort over grote Silicon Valley-bedrijven: veel glas, aluminium en designmeubels. Hippe mensen, uitbundige werkruimtes, een gymzaal, vergadertafels met bergen Lego-steentjes, klasjes waar nieuwe werknemers bijgepraat worden over Dropbox-gebruiken. We eindigen bij de kantine: stomende keukens, een rijk geurlandschap. Maar liefst drie medewerkers springen in actie om ons een perfecte café latte voor te schotelen.

Van Rossum begint zijn verhaal in wat haast wel de prehistorie lijkt. Met Bright Ideas voor je neus, op welk scherm dan ook, is het moeilijk voor te stellen hoe de 18-jarige Van Rossum in 1974 aan de Universiteit van Amsterdam wiskunde ging studeren en, in zijn woorden, "niet eens wist dat computers bestonden". Hij kreeg een bijbaan bij SARA, de Stichting Academisch Rekencentrum Amsterdam, en daar zag hij er voor het eerst een in het echt. Dat was de mainframe waarop de UvA, de Vrije Universiteit en het Mathematisch Centrum inlogden via terminals.

"Ik begon er programma's voor te schrijven en raakte totaal verslaafd," zegt van Rossum. "Al zag ik het toen niet als verslaving. Ik was er ook gewoon goed in. Met minimale hulp van de faculteit programmeerde ik in diverse talen."

Is er een verklaring waarom het hem zo gemakkelijk afging? "Op de een of andere manier werken mijn hersenen zo dat ze programmeerproblemen makkelijk kunnen aanpakken. Dat was voor mij ook een verrassing." Als kind was hij geïnteresseerd in electronica. "Vanaf mijn tiende knutselde ik daarmee. Maar zodra ik de computer zag, was ik erop uitgekeken. Ik was goed in het begrijpen en ontwerpen van electronische circuits, maar niet zo goed in solderen. Wat ik bedacht had, werkte nooit. Met de computer was dat anders."

Ook de theoretische wiskunde van zijn studie lag Van Rossum niet; uiteindelijk lieten zijn begeleiders hem afstuderen met zijn programmeerwerk. Die trend zette door bij het CWI, het Centrum voor Wiskunde en Informatica (het vroegere Mathematisch Centrum), waar hij aan de slag ging na zijn studie, in 1983.

"Ik had geen zin om te promoveren, maar het contract was als dat van een promovendus. Dezelfde betaling, termijn en 'rang'. Maar het werk was gewoon programmeren, ik hoefde geen proefschrift te schrijven en te verdedigen," zegt Van Rossum. "Mijn baas verdedigde dat door te stellen dat de informatica zo nieuw was dat er nog geen proces was voor iemand die beter kon programmeren dan publiceren. Hij vond dat programmeer-output serieuzer genomen moest worden."

Van ABC naar Python

Het project waaraan Van Rossum mocht werken, was bepalend voor zijn verdere loopbaan. Vier jaar lang hield hij zich bezig met ABC, de programmeertaal die dezelfde baas, Lambert Meertens, had uitgevonden. "Er waren allerlei problemen mee. Lambert had een team van vijf of zes programmeurs om een nieuwe implementering van ABC te maken, en daar was ik er één van."

Veel van wat ABC mogelijk maakte, zou je tegenwoordig in een spreadsheet oplossen. "Het was onder meer bedoeld voor onderzoekers, die bijvoorbeeld met radio-activiteit of genetica bezig waren," zegt Van Rossum. "Voorheen moesten wetenschappers elke keer dat ze iets met een computer wilden uitrekenen, een professionele programmeur inhuren. ABC maakte het makkelijker om het zelf te doen."

De taal werd stopgezet, maar een aantal principes ervan – zoals de relatieve toegankelijkheid – leven voort in Python. Toch is het er geen vervolg op. Python diende zich via een omweg aan, toen Van Rossum bij het CWI meewerkte aan Amoeba, een besturingssysteem voor gedistribueerde systemen. "Het idee was om verscheidene kleine computers te laten samenwerken," zegt hij. "Ze werkten dan elk voor zich maar vervulden samen allerlei functies."

Van Rossum en zijn collega's hadden de opdracht om software te schrijven die op Amoeba zou draaien. "Er was een prototype dat de client en server aan elkaar koppelde, maar er waren geen utilities zoals een e-mailprogramma, teksteditor en backup tool. Om die te ontwikkelen bleek een gigantisch arbeidsintensieve taak te zijn, in wezen omdat we er geen geschikte programmeertaal voor hadden. Praktisch gezien konden we alleen C gebruiken, een breedsprakige low-level programmeertaal. Dat is prima als alles wat je schrijft supersnel moet zijn, in de kernel of het filesystem van je besturingssysteem bijvoorbeeld. Voor utilities wil je het tegenovergestelde. Een boel logica, maar weinig performance."

Na een halfjaar aan een lange lijst van benodigde tools gewerkt te hebben, waren er nog maar drie af. "Ik bedacht dat we het veel sneller zouden kunnen met een geschiktere programmeertaal," zegt van Rossum. "Ik bleef aan de lijst werken, maar ook aan Python. Al gauw eiste het zelfs mijn vrije dagen, weekenden en vakanties op; ik had toen totaal geen sociaal leven."

Punten en komma's

Naar goed wetenschappelijk gebruik borduurde Van Rossum voort op werk van voorgangers. "Door de vier jaar interactie met Lambert Meertens had ik een goed beeld van wat er omgaat in de gedachten van iemand die een programmeertaal ontwikkelt," zegt hij. "De meeste programmeurs hebben geen idee hoe een compiler werkt. Je moet de regels ervan leren en puntkomma's en haakjes toevoegen, maar waarom dat zo is, vindt men niet interessant. Ik had dat perspectief wel, ik had immers al een compiler gebouwd én eindeloze discussies gehad met Lambert over het hoe en waarom van bepaalde aspecten van ABC. Zoals hoe iets makkelijker voor de compiler maar moeilijker voor de programmeur kan zijn, of juist andersom."

In het ontwerp van Python is nog veel van ABC te vinden, "maar er waren ook dingen waarmee ik het niet eens was. Zo moesten alle speciale woorden in hoofdletters getypt worden. Daar had ik een gruwelijke hekel aan."

Van Rossum in 1999.
Van Rossum in 1999.

Toen Van Rossum Python na drie maanden aan zijn collega's liet zien, waren die meteen enthousiast. Zo erg dat ze er zelfs aan gingen meewerken. "Na ruim een jaar wilden we het opensourcen, hoewel dat woord nog niet bestond. MIT was al wel met iets vergelijkbaars bezig, dus nam ik hun vrije-softwarelicentie van twee paragrafen en veranderde 'MIT' in 'CWI'. Toen konden anderen er dus aan verder werken."

Van Rossum zegt dat hij zich van nature aangetrokken voelde tot de opensourcecultuur, ook toen het nog niet praktisch was. "Toen ik aan ABC werkte en voor het eerst naar Amerika op vakantie ging, nam ik een magnetische tape mee in mijn koffer. Daarmee ging ik naar geïnteresseerde instellingen. Dat was toen de enige manier waarop zij de broncode konden krijgen."

De eerste versie van Python kwam rond 1991 op FTP-sites en Usenet te staan. "Altijd met documentatie en broncode, zodat mensen er zelf dingen mee kon bouwen," zegt Van Rossum. "Ook begon ik een mailinglist, waar mensen opmerkingen en vragen op begonnen te plaatsen, die dan weer door anderen werden beantwoord. Zo kon de community snel groeien, terwijl ik de centrale beslissingen over releases en fixes bleef maken."

Amerika lonkte

Het rommelde bij Nederlandse instellingen als het CWI en er werd, ook toen al, continu bezuinigd. Amerika lonkte, en een kans om de oversteek te maken diende zich al gauw aan. "In de zomer van 1994 werd ik uitgenodigd om twee maanden een 'residentie' te komen doen bij het NIST in Washington DC, het oude standaardenbureau. Daar waren een paar idealistische programmeurs die Python heel interessant vonden. Ze hadden een compleet onrealistisch plan om iedereen er daar van te overtuigen Python te gebruiken. Ik mocht lezingen en workshops komen geven, en ze betaalden ook nog mijn reis naar een belangrijke conferentie. Daar ontmoette ik weer andere mensen die geïnteresseerd waren in Python."

Zo kreeg hij in 1995 een baan aangeboden bij CNRI, een non-profit in North Virginia, waar hij tot 2000 met een klein team verder werkte aan Python. In die tijd zwol de dotcombubble aan, en samen met drie medewerkers waagde Van Rossum de stap naar een opensource start-up. "Toen we daar aankwamen bleek het op totale onzin gebouwd. We kregen salaris tot we het niet kregen."

Guido van Rossum in 2006, toen hij bij Google werkte.
Guido van Rossum in 2006, toen hij bij Google werkte.

Een paar keer achter elkaar had Van Rossum, zoals hij het zelf noemt, "geluk". Het team werd overgenomen door een andere start-up, Digital Creations, later Zope, dat Python-applicaties ontwikkelde. Toen dat na 2,5 jaar stukliep, werd hij gescout door nog een start-up, dit keer in de computer security. Inmiddels getrouwd, en met een zoon van anderhalf, trok hij naar Californië.

Toen het ook daar mis ging, besloot Van Rossum contact op te nemen met vrienden bij Google. "Ze stonden me daar met open armen op te wachten," zegt hij. "Het bleek dat ze de interne tools daar allemaal gestandaardiseerd hadden op Python. De zoekmachine is C++, de web interface HTML en Javascript, en er is een boel Java. Maar alle interne tools waren Python. Ik had daar wel een vermoeden van, maar het kwam toch als een verrassing."

Van Rossum zat er van 2005 tot 2012. "Ik kwam er post-IPO, dus ik was geen instant miljonair. Er waren al tienduizend googlers, geloof ik. Maar ik werd wel heel goed betaald, hoor." Bovendien mocht hij, nogal luxe, fifty-fifty werken aan een Google-project en Python. "Het kon ze niets schelen wat ik deed in mijn Python-tijd, of ik nu conferenties afliep of in een hoekje ging zitten om nieuwe features aan de taal toe te voegen."

Zijn grootste Google-project was een interne tool voor 'code review', uiteraard gebouwd met Python. "Ze hadden al veel ervaring met software-ontwikkeling op grote schaal en er waren strikte regels, die echter vooral op sociaal niveau werden toegepast. Alle code moest worden nagekeken door een collega, maar dat gebeurde door deze handmatig te mailen. Zei de collega 'looks good to me', dan werd de code live gezet." Van Rossum automatiseerde dit proces middels een webtool. "Als ik door een willekeurig Google-gebouw liep, zag ik op elk scherm mijn tool. Met die primitieve, visueel herkenbare look: twee kolommen tekst met grote blokken rood en groen voor de 'deletions' en de 'inserts'. Ik moet zeggen dat dit mij meer emotioneel heeft geraakt dan hoeveel mensen Python gebruiken."

Het Dropbox-tijdperk

Voor Dropbox werd Van Rossum gepaaid door CEO Drew Houston zelf. "Ik dacht eerst dat ik heel blij was bij Google. Waarom zou ik ergens anders willen werken? En ik was te oud voor een start-up, toch? Maar een jaar later was er gedonder met het project waaraan ik werkte. Drew bleef bovendien volhouden. Hij zei dat alles bij Dropbox in Python draaide: de hele server, de hele client. Volgens hem was ik een held voor al die jonge programmeurs. Ik zei hem steeds dat hij over een half jaar nog maar eens moest bellen. Dat deed hij, en op een gegeven moment vroeg hij hoeveel ik wilde verdienen. Toen begon de ongemakkelijke dans om de hete brij."

In hoe hij over de Dropbox-vloer beweegt, trots en tevreden, knikkend en zwaaiend naar collega's, is te zien hoe goed Van Rossum er op zijn plek is. "Meer dan bij Google voel ik hier een zekere senioriteit door mijn ervaring en leeftijd. En doordat de taal van mij komt. Python is hier echt de primaire programmeertaal."

Gaat hij er nog lang mee door? "Elk jaar denk ik dat ik er best mee kan stoppen, maar elk jaar denk ik ook dat het nou ook weer niet zóveel werk is. Het blijft leuk. De Python-community bestaat uit interessante mensen en ik krijg veel respect. Als ik bijvoorbeeld vraag of er niet meer vrouwen naar het Python-congres kunnen komen, vindt men dat een belangrijke uitspraak, waar echt iets mee wordt gedaan."

Zolang Python groeit en met nieuwe gebruikers ook nieuwe toepassingen krijgt, is de taal nog niet af. "Afgelopen weekend was er een ongelooflijk stressvolle discussie over floating-pointgetallen in Python, en dat trek ik mij dan toch persoonlijk aan. Ik kan er slecht van slapen. Dan denk ik: hoe kan ik die mensen nou weer op één lijn krijgen? Wat die ene figuur zegt is overtrokken, en ik snap dat iedereen er negatief op reageert, maar er zit toch ook een kern van waarheid in. Dan lig ik de halve nacht na te denken over hoe ik dat neutraal en precies kan opschrijven, zodat het voor iedereen helder is wat er moet gebeuren."

Auteur

Niels ’t Hooft & David Nieborg (@nielsthooft) & (@gamespacenl) benaderen games en de wereld daar omheen op hun eigen manier. Nieborg doet onderzoek naar games aan de Universiteit van Amsterdam, ’t Hooft bemoeit zich als liefhebber en expert met de productie van spellen. Toch heb je uiteindelijk te maken met twee romantici, die games de mooiste culturele uiting vinden.