Ik leerde een computerprogrammeertaal toen ik in de vijftig was – dit is wat ik ontdekte | Technologie

OOp een dag in 2017 realiseerde ik me een besef dat nu vanzelfsprekend lijkt, maar destijds de kracht had om te choqueren: bijna alles wat ik deed werd gemedieerd door computercode. En toen het lekken van code in mijn wereld een overstroming werd, leek die wereld niet beter, maar in ongeveer verhouding slechter te worden. Ik begon me af te vragen waarom.

Er kwamen meteen twee mogelijkheden in me op. Een van hen waren de mensen die de code schreven – de programmeurs – die in de popcultuur lange tijd werden afgeschilderd als een clan van vaag komische Tolkien-aanbiddende buitenbeentjes. De andere was het uber-kapitalistische systeem waarbinnen velen werkten, geïllustreerd door het uiterst vreemde Silicon Valley. Heeft een van hen, of allebei, de code gebruikt om de menselijke omgeving opnieuw vorm te geven zodat deze beter bij hen past?

Er was nog een derde mogelijkheid, waar ik nauwelijks aan durfde te denken, omdat het vooruitzicht daarop zo verschrikkelijk was. Wat als er iets is aan de manier waarop we tellen dat in strijd is met de manier waarop mensen zijn? Ik heb nog nooit iemand een dergelijke mogelijkheid horen suggereren, maar in theorie bestond deze tenminste. Het werd langzaam duidelijk dat de enige manier om daar achter te komen zou zijn door in de machine te klimmen door mezelf te leren coderen.

Als schrijver van in de vijftig, zonder technische achtergrond, wist ik vrijwel niets over hoe code werkte. Maar ik kwam programmeurs tegen – en was geïntrigeerd door – toen ik een paar jaar geleden een artikel over Bitcoin aan het schrijven was. De pseudonieme maker van de cryptocurrency, Satoshi Nakamoto, liet weinig aanwijzingen achter over zijn identiteit voordat hij verdween. Toch liet hij 100.000 regels code achter, die zijn collega’s, zo vond ik, lazen als literatuur. Ik heb geleerd dat er duizenden programmeertalen zijn die worden gebruikt om met machines te communiceren, waaronder enkele tientallen grote waarvan de namen rozen of gewetenloos sterke schoonmaakproducten suggereren (Perl, Ruby, Cobol, Go), en dat elk zijn eigen specifieke ethos heeft. en cult-aanhang van volgers, onderverdeeld in subculturen, gepassioneerd en compleet, evenals de subculturen van de jeugd – punks, mods, goths, skinheads – waarmee ik ben opgegroeid.

Het leek erop dat er rivaliteit, zelfs milde vijandigheid, tussen deze stammen kon bestaan, en de frictiecodeurs noemden half gekscherend ‘religieuze oorlogen’ met als argument dat niemand ooit van gedachten zou veranderen. Plots leek het rijk van codeerders rijk en intrigerend. Later sprak ik met een theoretisch natuurkundige die ‘hoogfrequente handel’ op de aandelenmarkt bestudeerde, waar algoritmen die buiten menselijke controle opereren, moeite hebben elkaar voor de gek te houden over de toestand van de markt. Ik was geschokt maar gefascineerd toen hij deze kosmos van code ‘het eerste echt door de mens gemaakte ecosysteem’ noemde. De studie van zijn team werd niet gepubliceerd in een natuurkunde- of computerwetenschappelijk tijdschrift, maar in Natuur.

Een restje nieuwsgierigheid was het enige dat ik aan mijn zijde had toen ik op pad ging om een ​​domein te leren kennen dat vreemder – en vaak leuker – bleek te zijn dan ik me had durven voorstellen. Zoals bij alle code-naïefs was mijn eerste taak het kiezen van een taal. Maar op basis waarvan? Uiteindelijk vond ik een geweldige website genaamd freeCodeCamp, waar ik leerde dat er achter de meeste websites drie klassieke talen zitten en dat veel studenten ermee begonnen. HTML, voor Hypertext Markup Language, werd gemaakt door Tim Berners-Lee aan het begin van het World Wide Web en wordt gebruikt om de structuur van een webpagina te definiëren, terwijl CSS (Cascading Style Sheets) de styling van HTML-elementen mogelijk maakt. Optioneel kan JavaScript worden gebruikt om deze elementen te animeren. Ik heb genoten van de eerste twee, waarbij ik mijn eerste codecrisis doorstond en de vreugde ervaarde om een ​​machine te zien doen wat ik van plan was. Totdat iemand erop wees dat ik HTML en CSS waarschijnlijk leuk vond omdat ze niet ‘algoritmisch’ waren: ik was alleen maar dingen aan het verplaatsen. Met andere woorden: dit was coderen, maar niet programmeren.

Toen vond er wat vloeken plaats. Maar diep in mijn hart wist ik dat mijn keuze niet toevallig was. Algoritmen zijn glad en moeilijk te controleren in een in wezen binaire, buitenaardse en meedogenloze omgeving, waar een misplaatste komma ervoor kan zorgen dat een vliegtuig neerstort of een satelliet ontploft. Het is duidelijk dat een deel van mij ze wilde vermijden. Toen keek ik naar JavaScript, de krachtige algoritmische pijler van de webtriade – en ik haatte het.

In principe zijn algoritmen simpele dingen, meestal bestaande uit ‘if’-statements (als ‘x’ gebeurt, doe dan ‘y’; anders doe je ‘z’) en ‘while loops’ (zolang ‘x’ wordt toegepast, ga door met doen “y” als “x” niet langer van toepassing is, stop dan met het doen van “y”); Algoritmen concentreren en versterken dus van nature wat ze krijgen. Als deze dingen goed zijn, wordt de wereld in principe beter; als ze slecht zijn, wordt de wereld erger. Eigenlijk is het niet zo eenvoudig. Mijn afkeer van JavaScript was echter meer dan een ongemak met algoritmen. Hoe vreemd het ook mag lijken voor wat ik altijd als een hyperrationeel domein heb beschouwd, het voornaamste probleem was esthetisch. Emotioneel. Alleen al de aanblik van JavaScript, met zijn lelijke reeksen haakjes en haakjes en schijnbaar onnodige stapels puntkomma’s, maakte me ongelukkig. Er leken ook 25 verschillende manieren te zijn om elke taak uit te voeren en ze bleven veranderen, waardoor de taal in een soort wildwest-codering veranderde. Hoe meer tijd ik ermee doorbracht, hoe meer ik dacht:Ik kan dit niet; Coderen is niets voor mij – ik heb niet de juiste geest (en vond het nooit leuk Star Wars).”

Op dit dieptepunt had ik geluk toen een procodervriend van een vriend voorstelde dat ik een andere taal zou proberen voordat ik het opgaf. Hij bracht me in contact met een man genaamd Nicholas Tollervey, die prominent aanwezig was in de Python-gemeenschap. Voordat ik Tollervey belde, keek ik naar Python en voelde me er meteen thuis. Het eerste wat mij opviel was de spaarzame eenvoud van de syntaxis, die gebruik maakte van inspringingen in plaats van lelijke symbolen om instructies aan de machine af te bakenen. De taal is ontworpen door een van nature meewerkende Nederlander genaamd Guido van Rossum, die communicatie, gemeenschap en zorg voor hoe zijn taal zich in het wild zou gedragen – met andere woorden, empathie – boven alles waardeerde. Hij noemde zijn taal Python naar Monty Python, een grillige, menselijke toets die veelbelovend leek. Toen Tollervey voorstelde om naar Cleveland, Ohio te reizen om de PyCon-conferentie met 4.000 personen bij te wonen, merkte ik dat ik het daarmee eens was, zonder enig idee waar ik aan begon.

De eerste dag leek minder op de stijve verzameling van mijn verbeelding dan de eerste dag op Zweinstein. Ik ontmoette Tollervey, die als tubaspeler aan het Royal College of Music afstudeerde voordat hij zich tot coderen wendde – het soort achtergrondverhaal dat ik veel hoorde bij PyCon. Ik hoorde dat Python voor het eerst verscheen in het begin van de jaren negentig, maar het duurde meer dan twintig jaar voordat het aansloeg: Van Rossum vertelt dat hij begin deze eeuw een bijeenkomst belegde op een grote computerconferentie, waar slechts een handvol enthousiastelingen op afkwam. Naarmate de programma’s echter in omvang en complexiteit toenamen, begonnen zijn prioriteiten op het gebied van taal duidelijk te worden. Toen ik de toenmalige president van de Python Software Foundation, Naomi Ceder, vroeg hoe Guido (voor ‘Pythonistas’, hij is altijd gewoon Guido) voorzag hoe de codeeromgeving zou veranderen, zei ze nee.

‘Niemand zou dat kunnen! Dit klinkt misschien vreemd voor een programmeur, maar ik denk dat Guido een esthetisch gevoel meebrengt… zijn sterke aandacht voor de esthetiek van de taal gaf het een vorm en structuur die vatbaar was voor aanpassing en schaalvergroting, zoals een klassiek gebouw.’

sla de nieuwsbriefpromotie over

Dit klinkt misschien onopvallend voor de buitenwereld, maar in code is dat niet zo. Larry Wall, de fascinerende polymath die Perl creëerde – dat Python en de meeste van zijn soortgenoten in de jaren negentig leek te overschaduwen – definieerde specifiek zijn taal in tegenstelling tot Python. Dit laatste, zo zei hij, is een modernistische creatie, die haar eigen esthetiek oplegt en de vrijheid van keuze of interpretatie beperkt, waardoor het individu wordt gedevalueerd. Perl, zo betoogde hij, was expliciet postmodern en gaf het individu zoveel mogelijk opties en liet hem beslissen wat hij wilde gebruiken. Ik denk dat Wall in beide opzichten gelijk heeft, ook al is dit een codediscussie die ik niet had verwacht. Er is echter iets serieus dat ik bij PyCon begon te zien: dat de waarden en aannames in programmeertalen de software die ermee is geschreven informeren en de wereld dienovereenkomstig veranderen. Totdat ik hoorde dat Brendan Eich, de auteur van JavaScript, een anti-vaxxer is en een voorstander van de campagne voor het intrekken van het homohuwelijk in Californië, was ik niet verrast.

Ik was verrast hoeveel plezier ik had met Pythonistas. Codering brengt gender- en rasproblemen met zich mee, waarbij slechts ongeveer 5% van de professionals zich identificeert als vrouw of zwart, Afrikaans of Caribisch. Het zou me een paar jaar kosten om erachter te komen waarom dat zo is. Maar er zijn zware inspanningen geleverd om het probleem op te lossen binnen Python-gemeenschappen over de hele wereld, vooral in Afrika. Eén organisatie die deze onevenwichtigheid probeert te keren is PyLadies, die traditioneel op de zaterdagavond van de conferentie een fondsenwervingsveiling houdt. Ik kreeg een kaartje en kreeg mijn eerste echte indruk, in de microkosmos, van een gemeenschap die, hoewel nog steeds te klein qua geslacht en ras, veruit de cultureel en neurologisch meest diverse groep is die ik ooit heb gezien.

Het hoogtepunt van de veiling was voor mij een foto van een van de jongere PyLadies. De veilingmeester legde uit dat Lynn vorig jaar een ernstige burn-out had gehad, wat gebruikelijk is in een gebied waar kleine acties grote gevolgen kunnen hebben. Ze trok zich terug uit de code en begon aquarellen te schilderen op zoek naar vrede. De andere PyLadies werkten hard om haar ervan te overtuigen een foto van haar katten aan te bieden, maar vanaf de plek waar ik zat zag ik haar trillen van angst, terwijl ze zich backstage aan haar collega vastklampte. Het schilderij betekende zoveel voor haar, maar wat kon het voor anderen betekenen?

Ik keek met ontzag toe hoe het bieden langzaam begon en vervolgens versnelde naar een piek van $ 1.410, terwijl de jonge programmeur in vlammen uitbarstte en vervolgens in tranen uitbarstte met het diepgewortelde loslaten van een klif die in de zee stortte, en ik liep weg in de gedachte dat dit was een van de grootste en mooiste dingen die ik ooit heb gezien; wetende dat dit een gemeenschap was die ik beter wilde leren kennen.

Twee jaar later zou ik mijn eerste zenuwachtige Python schrijven als vrijwilliger bij de Code for America-brigade van San Francisco, het non-profit code-equivalent van het Peace Corps, terwijl ik werkte aan een pandemisch dashboard voor de Bay Area en me de meest onwaarschijnlijke bekeerling ter wereld voelde. cultuur coderen. Maar voor het geval je het je afvraagt: ja, ik heb een verborgen storing in ons computersysteem gevonden die onze problemen verergerde en ons uit elkaar dreef. Net toen ik dacht dat mijn taak erop zat, ging het serieus beginnen.

Twee jaar later zou ik mijn eerste zenuwachtige Python schrijven als vrijwilliger bij de Code for America-brigade van San Francisco, het non-profit code-equivalent van het Peace Corp, werkend aan een pandemisch dashboard voor de Bay Area en me voelen als ‘s werelds meest waarschijnlijke bekeerling tot code cultuur.

Toch ontdekte ik, toen ik dieper verdiepte in Silicon Valley en wat ik ging beschouwen als een ‘microkosmos’, een verborgen rimpel in de manier waarop we computeren, iets dat inherent is aan de code zelf en dat in strijd is met de manier waarop we zijn geëvolueerd naar zal zijn. Iets dat de macht heeft geconcentreerd, de samenleving heeft vernietigd en ons als soort algoritmisch heeft betoverd – en dat zal blijven doen totdat we het onder controle krijgen. Net toen ik dacht dat mijn taak erop zat, ging het serieus beginnen.

De duivel in de bos: een coderingsodyssee Andreas Smit uitgegeven door Grove Press (£ 16,99). Voor ondersteuning Voogd En Waarnemer Bestel uw exemplaar op Guardianbookshop.com. Er kunnen verzendkosten van toepassing zijn