De obsessie van elke programmeur: efficiëntie. Maar makkelijker is niet altijd beter
Deze week begon ik met een online cursus Python. Python is een van de populairste programmeertalen ter wereld. Het is relatief eenvoudig en je kunt het voor van alles gebruiken, van games bouwen tot statistische modellen doorrekenen.
Ook leuk: het is bedacht door een Nederlander, Guido van Rossum. Hij noemde de taal naar het televisieprogramma Monty Python’s Flying Circus.
Op de eerste dag leerde ik de syntax van Python. Ik begon met het ‘afdrukken’ van een stukje tekst op het scherm – een klassieker bij een programmeercursus, waarin bijna altijd wel een variant van print("Hello world") voorkomt.
Telkens las ik in het linkerblok op het scherm een uitleg en een opdracht, om vervolgens in het middelste blok code te schrijven en op ‘Run’ te drukken.
Als het goed ging, zag ik in het rechterblok in het wit de output (Hello world, bijvoorbeeld) verschijnen. Ging het fout, dan zag ik in het rood een foutmelding. Dat gebeurde nogal eens, want code is onverbiddelijk: één dubbelepunt vergeten en het programma weigert al te doen wat je wilt.
Ctrl-Enter
Zo pielde ik me een weg door de cursus heen. Alleen begon ik me na een tijdje aan iets te storen. Telkens als ik de code in had getikt, moest ik met mijn muis naar het run-knopje. Dat moest toch sneller kunnen.
Na wat googelen vond ik een sneltoets om code te runnen: Ctrl-Enter. Zo hoefde ik mijn rechterhand niet van het toetsenbord te halen. Ook vond ik een sneltoets om naar de volgende pagina te gaan. Wel zo handig.
Dan kon ik vast ook wel een manier vinden om op mijn scherm van het ene blok naar het andere te springen. Want nu moest ik telkens met mijn muis de instructies naar beneden scrollen.
Ik vond de site How To Use Your Computer without a Mouse, ik volgde het stappenplan en... mijn toetsenbord stopte met werken.
Efficiëntie
‘Programmeurs worden geobsedeerd door efficiency’, schrijft Clive Thompsons in De coders. ‘Het is het enige wat ik ben tegengekomen bij absoluut iedere coder die ik heb ontmoet.’
Niet gek, want het werk van programmeurs gaat vaak over automatiseren. Ze laten de computer taken uitvoeren die de mens tijd kosten en maken het leven op die manier efficiënter.
Geen zin om langs de weg te staan om een taxi aan te houden? Wij bouwen een app die je met een druk op de knop een chauffeur toestuurt. Geen tijd om naar de winkel te gaan? Bestel bij ons en je bestelling komt – soms al binnen twee uur – naar je toe.
Automatisering heeft een hoop gebracht. Zo kun je berekeningen nu eenvoudig uitvoeren met een rekenmachine, Excel of andere software. Of je nu een winkelier, belastingbetaler of wetenschapper bent – dat heeft je tijd opgeleverd én fouten voorkomen.
Frictie als oplossing
Maar die focus op efficiëntie heeft ook nadelen. Het eerste is dat de mens dingen ‘ontleert’. Of we nog een staartdeling moeten kunnen uitvoeren, daar kun je over discussiëren, maar wat dacht je van levensgevaarlijke situaties?
Wiskundige Hannah Fry beschrijft in Algoritmes aan de macht hoe piloten minder goed kunnen vliegen door de automatische piloot. Ze maken minder vlieguren en áls ze in moeten grijpen, dan is dat in uitzonderlijk moeilijke situaties die de autopilot niet aankan.
Een ander nadeel: ook het ‘kwaad’ wordt efficiënter. ‘Vroeger kostte het tijd en moeite om geheimen te stelen, mensen te chanteren en je met het buitenland te bemoeien’, schreef computerwetenschapper Justin Kosslyn, destijds werkzaam bij Google. ‘Toen kwam het internet.’
Frictie wordt altijd gezien als het probleem, stelde Kosslyn, maar misschien is het wel de oplossing voor problemen die we nu op het internet zien. Waarom zouden we informatie niet wat vertragen om eerst te controleren of ze in orde is?
‘Een ziekte kan geen epidemie worden als patiënten sneller worden genezen dan dat de ziekte zich verspreidt.’
Hoe dan ook, mijn persoonlijke zucht naar efficiëntie werkte tegen me deze week. Collega Michael loste uiteindelijk mijn toetsenbordprobleem op. Ik bleek de slow keys aan te hebben gezet, waardoor je heel lang op een toets moet drukken voordat hij reageert.
Een beetje vertraging is misschien goed, maar dit was wel erg inefficiënt.
Tot slot...
...staat er een nieuwe aflevering van Het bestbeluisterde boek ooit (met deze titel) online! Deze week: wat een oud seksonderzoek vertelt over peilingen.