Het Beslissende Kwartier De geboorte van Python Historisch moment: 20 februari 1991 https://hetbeslissendekwartier.nl/afleveringen/de-geboorte-van-python.html Transcript (op basis van het script) Deze leesversie is gebaseerd op het afleveringsscript. De tekst is niet woordelijk gecontroleerd tegen de uiteindelijke audio. Regieaanwijzingen en productienotities zijn weggelaten. Amsterdam, twintig februari negentieneenennegentig. Het is het einde van de middag. Buiten hangt de grijze februari-schemer over de stad. Binnen, op een kamer van het Centrum Wiskunde & Informatica, zit een programmeur achter een beeldscherm. Hij is vijfendertig jaar oud. Zijn haar valt over zijn bril. Voor hem, op de terminal, staan duizenden regels code. Code die hij de afgelopen veertien maanden heeft geschreven. In avonden, in weekenden, in een kerstvakantie die hem niet losliet. Guido van Rossum weet dat hij vanavond iets gaat doen waar hij nog nauwelijks woorden voor heeft. Hij gaat zijn creatie vrijgeven. Niet verkopen. Niet patenteren. Gewoon: weggeven. Aan iedereen die het wil hebben. Een programmeertaal. Hij heeft hem Python genoemd. Naar een Britse comedyserie waar hij dol op is. Over een kwartier verstuurt hij een bericht. En de ruggengraat van de eenentwintigste eeuw begint te groeien — zonder dat iemand het doorheeft. Dit is Het Beslissende Kwartier. De geboorte van Python. Om te begrijpen wat er die middag gebeurt, moeten we terug naar december negentiennegenentachtig. Guido van Rossum is dan drieëndertig jaar oud. Hij werkt bij het CWI, in de multimediagroep. Zijn voornaamste project heet Amoeba — een gedistribueerd besturingssysteem. Geavanceerd onderzoekswerk. Indrukwekkend op papier. Maar Guido loopt tegen iets aan wat hem irriteert. De hulpprogramma's die hij moet schrijven, horen in de taal C geschreven te worden. En C is snel. Maar C is ook onverbiddelijk. Een klein foutje in geheugenbeheer, een verkeerde aanwijzing naar een stukje data, en het hele programma stort in. Elke systeemhulp kost dagen. Elke regel voelt als lopen op eieren. De andere optie is shellscripts. Die zijn snel geschreven, maar beperkt. Je kunt er geen echte programma's in bouwen. Ergens tussen C en shellscripts gaapt een kloof. En Guido denkt: iemand moet die kloof dichten. Dan komt Kerstmis negentiennegenentachtig. Het CWI is gesloten. De gangen zijn leeg. En Guido, die geen zin heeft om niets te doen, gaat aan de slag aan een hobbyproject. Hij gaat een nieuwe programmeertaal schrijven. Guido heeft een voorbeeld. Een taal die hij kent tot in zijn vingertoppen. Een taal die hij zelf mede heeft gebouwd, jaren eerder, toen het CWI nog Mathematisch Centrum heette. De taal heet ABC. En ABC is bedoeld als onderwijstaal — helder, leesbaar, eenvoudig. Het belangrijkste principe van ABC is inspringing. Andere talen gebruiken haakjes of accolades om te laten zien waar een codeblok begint en eindigt. ABC gebruikt witruimte. De inspringing zelf bepaalt de structuur. Dat maakt de code leesbaar als proza. Een kind kan zien welke regels bij elkaar horen. ABC heeft één groot probleem: je kunt er niets aan toevoegen. Geen bibliotheken. Geen koppelingen met het besturingssysteem. Guido wil dat anders. Hij wil de leesbaarheid van ABC, maar dan uitbreidbaar. Een taal waarmee je echte programma's bouwt. Een taal die je overal op kunt schroeven. In die kerstvakantie schrijft hij de eerste versie. In de veertien maanden daarna bouwt hij er functies omheen. Klassen met overerving. Exception handling — een manier om fouten op te vangen zonder dat alles crasht. Kerndatatypen: lijsten, woordenboeken, teksten. En een modulesysteem dat hij leent van een andere taal, Modula-3. Tegen februari negentieneenennegentig staat er een werkend geheel. Klein. Onafgemaakt. Maar bruikbaar. Dan komt het moment waarop hij de taal een naam moet geven. Guido van Rossum doet iets vreemds voor een programmeur. Hij kijkt niet naar een wetenschappelijk concept, niet naar een afkorting, niet naar een Griekse letter. Hij denkt aan een televisieserie. Monty Python's Flying Circus. Een Britse comedyserie uit de jaren zeventig. Absurdistisch, eigenwijs, vol zelfspot. Guido heeft de scripts gelezen. Hij is er fan van. En hij denkt: waarom niet? Hij wil een vleugje oneerbiedigheid in de serieuze wereld van programmeertalen. Een naam die niet klinkt als een onderzoeksproject, maar als iets waar je plezier aan beleeft. De taal heet dus niet ABC Plus, of CWI-script, of Hypertool. De taal heet Python. Jaren later zullen mensen denken dat de taal vernoemd is naar de slang. Boeken, logo's, merchandise — alles met slangen erop. Maar de waarheid is: Guido van Rossum wilde gewoon een verwijzing naar een comedyserie die hem aan het lachen maakte. Vijftien minuten voor de post. Guido zit achter zijn terminal en doorloopt de code nog één keer. De bestanden staan klaar. De begeleidende tekst is geschreven. En nu komt de echte beslissing. Hij kan Python binnen het CWI houden. Een intern gereedschap. Iets waar hij en zijn collega's voordeel van hebben bij hun onderzoek. Veilig. Controleerbaar. Of hij kan het weggeven. Aan iedereen. Gratis. Met broncode. Met toestemming om het te veranderen, te verspreiden, te kopiëren. De keuze lijkt abstract, maar is dat niet. In negentieneenennegentig is de softwarewereld verdeeld. Bedrijven verkopen gesloten programma's voor duizenden guldens. Licenties beperken wat je ermee mag. Broncode is een bedrijfsgeheim. Daartegenover staat een kleine maar groeiende beweging van programmeurs die hun werk openlijk delen. Via ftp-servers, via mailinglijsten, via Usenet-nieuwsgroepen. Geen geld. Geen licenties. Alleen code en vertrouwen. Guido kiest voor die tweede wereld. Hij weet niet dat die keuze de belangrijkste van zijn leven is. Hij weet ook niet dat zijn taal ooit door Google, Dropbox en Microsoft gebruikt zal worden. Dat hij zelf daar ooit in dienst zal treden. Dat Python de taal wordt waarin mensen kunstmatige intelligentie bouwen. Hij weet alleen: als hij het vasthoudt, gebeurt er niets. Als hij het weggeeft, weet hij niet wat er gebeurt. Vijf minuten voor de post. Guido opent zijn e-mailprogramma. Hij richt zijn bericht aan een nieuwsgroep op Usenet. De nieuwsgroep heet alt puntje sources. Het is de plek waar programmeurs hun code vrijgeven aan de wereld. Geen commerciële kanalen. Geen persberichten. Gewoon: een bericht tussen duizenden andere berichten. Hij typt een korte aankondiging. Hij beschrijft wat Python is. Wat het kan. Wat er nog niet af is. Hij schrijft dat het een taal is voor mensen die iets willen dat veiliger is dan C en krachtiger dan een shellscript. Een taal met klassen, met uitzonderingen, met lijsten en woordenboeken. Hij voegt de broncode toe. Alles wat nodig is om Python nul punt negen punt nul op je eigen computer te draaien. En dan drukt hij op send. Het bericht reist over telefoonlijnen, via universiteitsnetwerken, van server naar server. Binnen enkele uren is Python beschikbaar op elke computer ter wereld die verbonden is met Usenet. Voor wie het wil installeren. Voor wie het wil proberen. In die eerste minuten na de verzending gebeurt er niets spectaculairs. Geen applaus. Geen persbericht. Geen reactie. Guido staat op, loopt naar huis. De stad dendert door. Hij weet het niet, maar hij heeft zojuist de fundamenten gelegd van een groot deel van het moderne softwarelandschap. Vijftien minuten. Eén bericht. Een keuze om los te laten. Even tussendoor. Vind je dit een interessante podcast? Abonneer je dan via Spotify, Apple Podcasts of waar je ook luistert. En heb je een vraag, opmerking of suggestie voor een aflevering? Mail ons: vijftien minuten at doorzetters punt net. De dagen na de post verlopen rustig. Een handvol mensen downloadt Python. Universitaire computerwetenschappers. Hackers. Hobbyisten die graag nieuwe talen uitproberen. Sommigen mailen Guido met vragen. Met voorstellen. Met bugs. Python groeit niet meteorisch. Guido van Rossum heeft het er zelf later over als een lange, langzame, gestage stijging. In de eerste jaren concurreert Python met andere scripttalen. Perl is op dat moment veel populairder. Tcl wordt veel gebruikt. Java staat op het punt te verschijnen en zal binnen een paar jaar de softwarewereld veroveren. Python houdt vol. Elk jaar komen er gebruikers bij. Elke release wordt beter. In januari negentienvierennegentig verschijnt Python één punt nul. Met nieuwe functies: lambda, map, filter en reduce. Gereedschappen geleend uit de wereld van functioneel programmeren. De gemeenschap groeit. Een mailinglijst. Een jaarlijkse conferentie. Guido blijft tot negentienvijfennegentig bij het CWI. Dan neemt hij een baan in de Verenigde Staten. Eerst bij een onderzoekslab in Virginia. Later bij Zope, een bedrijf dat webtoepassingen in Python bouwt. Overal neemt hij zijn taal mee. Of beter gezegd: zijn taal heeft hem mee. De jaren daarna volgen elkaar op. In tweeduizendvijf gaat Guido van Rossum bij Google werken. Senior Staff Engineer. Hij bouwt daar onder meer Mondrian, een webgebaseerd systeem voor codebeoordeling. Python wordt een van de belangrijkste talen bij Google — naast C++ en Java. In tweeduizenddertien vertrekt hij naar Dropbox. Daar werkt hij aan mypy, gereedschap om Python-code te controleren op typefouten. En aan de migratie van miljoenen regels servercode. Dropbox is opgebouwd rond Python. Het fundament dat Guido in negentieneenennegentig legde, draagt nu een bedrijf van miljarden. In de Python-gemeenschap krijgt hij een bijnaam. Benevolent Dictator for Life. BDFL. Goedaardige dictator voor het leven. Hij heeft het laatste woord bij grote beslissingen over de taal. Een rol die hij dertig jaar lang vervult. Tot twaalf juli tweeduizendachttien. Dan kondigt hij aan dat hij aftreedt. De taal moet verder zonder eenhoofdig leiderschap. In oktober tweeduizendnegentien gaat hij met pensioen. Een jaar lang zit hij thuis. Dan, in november tweeduizendtwintig, kondigt hij aan dat hij terugkomt. Bij Microsoft. Om Python sneller te maken. En ondertussen gebeurt er iets wat Guido in negentieneenennegentig nooit had kunnen voorzien. Python wordt de taal van kunstmatige intelligentie. De machinelearning-bibliotheken — TensorFlow, PyTorch, scikit-learn — worden allemaal in Python geschreven. De grote taalmodellen van vandaag, de chatbots, de beeldgeneratoren, het onderzoek aan universiteiten en in onderzoekslabs — bijna alles draait op Python. Ook AlphaFold, het systeem van DeepMind dat het probleem van eiwitvouwen oploste, is gebouwd met Python. Wat begon als een kerstvakantie-hobby project in Amsterdam, is de ruggengraat geworden van de technologie die de eenentwintigste eeuw opnieuw tekent. Stel je voor dat Guido van Rossum in februari negentieneenennegentig anders had gekozen. Dat hij had besloten Python binnen het CWI te houden. Of dat hij commerciële licenties had bedacht. Voor universiteiten gratis, voor bedrijven tegen betaling. Python zou een klein project zijn gebleven. Misschien was er een concurrent gegroeid die op vergelijkbare uitgangspunten verder bouwde — Ruby, Tcl, iets heel anders. Misschien had die taal niet dezelfde leesbaarheid gehad. Misschien was kunstmatige intelligentie gebouwd op een andere, minder toegankelijke fundering. Misschien ook niet. Misschien zou iemand anders dezelfde sprong hebben gemaakt. Op een ander continent. In een ander jaar. Maar dit weten we wel. In die vijftien minuten in Amsterdam nam één man een beslissing die hij nooit helemaal heeft kunnen overzien. Hij gaf zijn werk weg. Niet uit naïviteit. Niet uit gebrek aan ambitie. Maar omdat hij vermoedde dat iets dat gedeeld wordt, groter wordt dan iets wat je vasthoudt. Soms wint een uitvinding niet omdat die slimmer is dan de concurrentie. Soms wint ze omdat die openstaat. Omdat iedereen mag meedoen. Omdat je er geen drempel voor over hoeft. Guido van Rossum drukte op een avond in februari op verstuur. Hij ging naar huis. En de wereld ging, zonder het te weten, een andere kant op. Vond je deze aflevering de moeite waard? Like, abonneer en deel de podcast met iemand die dit ook moet horen. Je vindt ons op Spotify, Apple Podcasts en alle andere podcastplatformen. Suggesties voor nieuwe afleveringen? Mail vijftien minuten at doorzetters punt net. Dit was Het Beslissende Kwartier, vijftien minuten die alles veranderden. Mijn naam is Julius van Rossum. Er is altijd een volgend beslissend kwartier.