Asset 14

Van 0'en naar 1'en, of: waarom ik me eindelijk programmeur durf te noemen

Van 0-en en 1-en of: waarom ik me eindelijk programmeur durf te noemen

Wanneer iemand mij vraagt wat mijn werk is, antwoord ik: ik doe iets met computers. Ik houd het bewust vaag. Mensen vormen zich toch wel een beeld aan de hand van hun eigen gedachten en het bespaart mij de moeite uit te leggen wat ik er zo bijzonder aan vind, want dat is een heel verhaal en ik weet niet of dat altijd goed overkomt.

De eerste keer dat ik iets met een computer deed, was ik twaalf. Daar wordt nu niet meer van opgekeken, maar meer dan veertig jaar geleden was het de enige computer waarover de scholengemeenschap van vijftienhonderd leerlingen beschikte, bestemd voor de administratie en de jaarlijkse Sisyphus-klus van het opstellen van het rooster voor de hele organisatie. 

In een donker en stoffig kantoortje met gesloten gordijnen naar de gang en een hek voor de ramen naar buiten zat ik hele pauzes achter het apparaat. Het was een TRS-80 III, een metallic grijs gespoten plastic moloch; zelfs de voorlopers van Windows en Windows PC’s bestonden nog niet. Het zagende geluid van de grote 5 1/4-inch floppy [1] waarmee het systeem opstartte, herinner ik me als de dag van gister. De bureaucomputer stond nog in de kinderschoenen, van computeronderwijs was nog geen sprake en dat ik op die computer mocht was voor de wiskundedocent net zo experimenteel als voor mij.

Ik leed nog niet aan imposter syndrome en dook blijmoedig elk digitale konijnenhol in dat zich aandiende

Ik leerde noch tekstverwerken noch spreadsheets te maken. Onderricht in de principes van computersystemen of in die van het programmeren kreeg ik al helemaal niet. Ik was er aan mijn lot overgelaten, zonder begeleiding en met alleen een paar vuistdikke handleidingen van DiskOS en BASIC. Dat er nog geen internet was om dingen op op te zoeken, spreekt voor zich. Wat ik zo vooral leerde was geen angst te hebben, ik leed toen nog niet aan imposter syndrome en dook blijmoedig elk digitale konijnenhol in dat zich aandiende.  ‘Stuk’ kon het niet gaan: wanneer de computer vastliep zette ik hem uit en weer aan en begon ik met een schone lei. [2]

Van de matrix-printer [3] kon ik op zeker moment de puntjes individueel aansturen; heel veel uitzoekwerk en een ellenlange reeks aan opdrachten leverden echter niet meer op dan een zelfontworpen afdrukje ter grootte van een halve pinknagel in de uiterste linker bovenhoek van een printervel. Ik kon het apparaat op verschillende toonhoogtes laten piepen en experimenteerde met lange lijsten van steeds kortere piepjes om de klank te beïnvloeden, maar muziek werd het nooit. Programmeren als activiteit om de computer naar mijn hand te zetten, was - moest ik bekennen - even fascinerend als frustrerend.

Van 0-en en 1-en of: waarom ik me eindelijk programmeur durf te noemen 1

‘Hé Siri. Zet een timer voor vijftien minuten.’ Wanneer ik dit hardop tegen mijn horloge zeg, gaat er een kwartier later een alarm. Dat is totaal onbegrijpelijk en tegelijk volstrekt natuurlijk. De logische relatie tussen de gesproken opdracht en het afgaan van het alarm voelt volstrekt natuurlijk aan, totaal onbegrijpelijk wordt het wanneer ik me een voorstelling probeer te maken van de miljoen maal miljoen keren dat een 0 een 1 wordt of omgekeerd, in onnavolgbare patronen in vele stukken hardware.

In het online essay What is code? [4] van de Amerikaanse schrijver en programmeur Paul Ford beschrijft hij de computer als ‘a clock with benefits’. Miljarden keren per seconde tikt de klok en telkens veranderen 0-en in 1-en of omgekeerd volgens niet veel meer dan een handvol regels; met pen en papier en een uitleg van hooguit vijf minuten zou je alles kunnen wat de computer kan. Je kan het alleen niet miljarden keren per seconde, ‘en dat telt op,’ voegt Paul Ford er aan toe, ‘die pure snelheid maakt het mogelijk om niet één, maar meerdere lagen van zinsbegoocheling toe te passen, kaarttruc op kaarttruc.’ Dus, terwijl hij niet meer doet dan 0-en en 1-en schuiven, líjkt het of mijn horloge mij begrijpt. De lijst aan individuele computerinstructies nodig om die schijn te wekken is, alleen al in dit voorbeeld, zo onvatbaar lang dat alle programmeurs in de wereld tezamen het niet zou lukken deze handmatig binnen een redelijke termijn op te stellen. Laat staan dat ze dat in zo’n goede samenspraak zouden kunnen doen dat het eindproduct ook echt zou werken.

Het echte wonder is niet dat een brok van kunststof, kristal, metaal doet alsof het mij begrijpt, dat is slechts de manifestatie. Het echte wonder is dat alle inspanningen die hier aan ten grondslag liggen zó samenwerken en in elkaar grijpen dat het product oneindig meer wordt dan de zielloze, samenstellende delen.

 Wie informatica studeert, hoort vroeg of laat [5] van Edsger Dijkstra, die in tweede helft van de vorige eeuw hoogleraar informatica in Texas was en, zoals de naam al doet vermoeden, een Nederlander. Hij was meer dan zes decennia geleden een van de grondleggers van de informatica. Hij benaderde het programmeren vanuit de logica, het wiskundig model en volgens het aan hem gewijde Wikipedia-artikel verhief hij het vak ‘van aanmodderen tot wetenschap’. Een beschrijving die steekt omdat het de vinger op mijn onzekerheid legt. Ondanks mijn vroege start stroomde ik pas veel later zijdelings in het programmeren in en ben ik geen geschoold informaticus.

Wat Edsger Dijkstra de ICT heeft gegeven is het besef dat programmeren gestructureerd aangepakt moet worden, en hij heeft organiserende principes geformuleerd waarmee dat mogelijk is. De hele kathedraal van menselijk vernuft die de ICT naast al het andere óók is, rust op fundamenten waar hij aan gewerkt heeft.

Telkens wanneer een computer opstart, speelt die in zekere zin een stuk ICT-geschiedenis na


Een 1 wordt een 0 en die weer een 1 en een ander wordt dat niet, of misschien wat later. Om ook maar iets met computers te kunnen doen, moet het proces waarin die
enorme aantallen 0-en en 1-en steeds maar wijzigen hanteerbaar worden. Dat gaat niet in één keer, maar stapsgewijs, gelaagd. Als eerste wordt die wereld van 0-en en 1-en aan het oog onttrokken: groepjes 0-en en 1-en worden weergegeven als getallen, wijzigingen daarin worden uitgedrukt in woord-labels als ADD, SUB, INC bijvoorbeeld, voor optellen, aftrekken en verhogen met 1. Labels die al iets herkenbaars hebben. Niet voor de computerchips die de opdrachten uitvoeren, natuurlijk, die zal het worst wezen, maar voor ons, mensen, programmeurs; door zo’n lijst met woord-labels te lezen, kunnen we een indruk krijgen wat er gebeurt. Een computerchip bundelt logische lijstjes van dit soort labels in een instructie. Een enorme waslijst aan basishandelingen kan zo al in een kortere lijst instructies uitgedrukt worden.

Ooit zijn er, zoals baron Von Münchhausen zich aan de eigen veters uit het moeras trok [6] , handmatig lijsten van dit soort instructies opgesteld, die in staat zijn om geautomatiseerd lijsten van instructies op te stellen. Deze programma’s worden gevoed met opdrachten uit een algemenere lijst, een programmeertaal. Als een wonderbaarlijke vermenigvuldiging worden enigszins begrijpelijke zinnen in zo’n programmeertaal automatisch omgezet in lijsten en lijsten aan instructies, die op hun beurt weer in waslijsten en waslijsten basale handelingen met enen en nullen omgezet worden. 

Dit is de truc die mogelijk is door de formele basis van programmeren die Dijkstra formuleerde: een combinatie van een formele taal en een programma dat die formele taal geautomatiseerd vertaalt levert een computertalig Lego op, waarin elk nieuwe bouwlaag past op andere bouwlagen en het tegelijk mogelijk maakt er bovenop te bouwen. 

Programmeren betekent: vertrouwen op wat anderen al hebben uitgeschreven

Paul Ford zegt hierover: ’Terwijl je over de schouder van een programmeur meekijkt, zou je kunnen denken dat programmeren complex en saai is, maar het onttrekt juist onvoorstelbaar uitgestrekte, repetitieve saaiheid aan het oog’. Programmeren is niet de dingen uitschrijven die allemaal precies moeten gebeuren, maar juist zo min mogelijk uitschrijven wat precies moet gebeuren. Programmeren betekent: vertrouwen op wat anderen al hebben uitgeschreven. Programmeren is ook: anderen dat vertrouwen geven over jouw programmeerwerk.

Onlangs is er bij ons thuis na bouw- en renovatiewerk een nieuwe ruimte gestuukt. Van al het achterliggende, water en elektriciteit, zowel oud als nieuw als omgelegd, oorspronkelijke buitenmuur, een stuk binnenmuur, houtskeletbouw, gipsplaten, gaten gevuld met mortel, en de ruwe beton van het originele pand, van al deze elementen kortom, netjes, slordig en aangelegd door verschillende mensen op verschillende tijdstippen, maakte de stukadoor een strak en uniform geheel dat de basis vormt voor ons interieur. Voor een deel lijkt het werk van een programmeur daarop: achterliggende concepten, programma’s en andere digitale bouwwerken aan het oog onttrekken en voorzien van een uniforme manier om daar gebruik van te maken.

De ICT is niet alleen een kathedraal van logica, van formele, mathematische principes, maar ook een van mensenwerk


Een andere Nederlander in de informatica met wereldwijde impact is Guido van Rossum. Hij stond aan de wieg van de programmeertaal Python, die is uitgegroeid tot een van de meest gebruikte programmeertalen. Hij werkte voorheen bij Google en nu voor Dropbox, platforms die op basis van zijn programmeertaal zijn ontwikkeld. Een van z’n uitgangspunten is dat je programmeert voor andere mensen, en niet voor de computer. De computer redt zich immers wel, het formele bouwwerk dat er aan ten grondslag ligt zorgt daar wel voor. ‘Programmeertalen zijn hoe programmeurs hun ideeën uitdrukken en overdragen — niet computers, maar andere programmeurs zijn hun publiek.’ Dat uitgangspunt leidt ertoe dat een van de belangrijkste kenmerken van Python de leesbaarheid is, niet zozeer voor de computer, dus, maar voor de mens. Voorbeeld daarvan zijn de nadrukkelijke regels
voor het gebruik van inspringen, regellengte en regelval, en voor het toepassen van witregels, die maken dat de logische structuur van een stuk code in een oogopslag duidelijk is, je kan de programmeur zien denken.

Daarnaast is Python een programmeertaal die de toegang tot heel veel verschillende onderliggende bouwlagen verenigt en uniformeert. Dat maakt het een heel krachtige taal, niet omdat het de pure rekenkracht van een computer ten volle benut [8], maar omdat het de volledige Alexandrijnse bibliotheek van mogelijkheden, ideeën en producten van anderen ontsluit.

De ICT is niet alleen een kathedraal van logica, van formele, mathematische principes, maar ook een van mensenwerk. ‘Programmeertalen,’ volgens Paul Ford, ‘zijn grote, complexe, dynamische uitdrukkingen van menselijke cultuur’. Die cultuur leren kennen en leren gebruiken, je weg er in weten te vinden en er aan bij dragen maken programmeren ook tot een ambacht. Daardoor durf ik na vele jaren iets met computers doen te beweren dat ik een programmeur ben. Ja, het helpt als je het vak studeert en leert waarom en de manieren waarop het programmeren gestructureerd aangepakt wordt, maar het is maar een deel van dat ambacht.

Als zodanig had het in Jan Luykens Afbeelding der Menschelyke Bezigheden kunnen staan. Eén in de reeks gravures: Boekdrukker, Glasblazer, Metzelaar — vanwege de verbouwing bleef ik hier even bij hangen: De Metzelaar verzorgt de Muuren/Om grijze Jaaren te verduren/Hij werd van Slofheid overtuigd/Trekt hij een Zijmuur op die buigt — Boekbinder, Programmeur dus, Bierbrouwer, ook heel erg belangrijk, en — echt waar, het staat erin als ambacht — Koning. 

Een gravure van een gebogen achter een bureau gebogen figuur, we kunnen vaag een vierkant apparaat, piepklein scherm en verduisterde ramen herkennen, met onder de gravure het kwatrijn:

 

De Programmeur temt de Machine

Opdat die den Menschen diene

Van die Menschen de verhaelen

Sal hij in ene digi Tael vertaelen.

 

 

[1] De enige vorm van opslag in die tijd voor bureaucomputers, 360kB op een kwetsbaar en slap magnetisch schijfje van ruim 13 cm in een flexibel plastic omhulsel.

[2] Ik bezat daartoe een eigen tegen overschrijven beveiligde floppy die ik van gedurende maanden opgespaard zakgeld gekocht had.

[3] Plaatje van een in puntjes geprinte letter.

[4]  https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/, een interactief essay met de lengte van een kloeke novelle, dat in 2016 de National Magazine Award won.

[5] Nou ja, geloof me: eerder vroeg.

[6] Ook de Engelse term voor het opstarten van de computer, booten, kort voor bootstrapping, vindt zijn oorsprong in deze Münchhausener mythe. [7]

[7] Telkens wanneer een computer opstart, speelt die in zekere zin een stuk ICT-geschiedenis na: eerst worden er basissets aan instructies geladen die gebruikt kunnen worden om complexere, meer samengestelde instructiesets mee uit te voeren, als laatste de laag aan instructiesets die de menselijke gebruiker in staat stellen een interactie met de computer aan te gaan.

[8] Dat doet het niet.

 

Dit essay kwam tot stand in samenwerking met De Nieuwe Garde. Bij de essays die De Nieuwe Garde voor begeleiding aanneemt, wordt de voor het stuk ideale mentor gezocht. Marten Hoekstra werkte samen met Heleen Oomen, die zijn essay namens Hard//hoofd redigeerde.
Leven in een grijs gebied 1

Mail

Marten Hoekstra is een schrijver die iets doet met computers. Verhalen en essays van hem verschenen eerder in onder andere De Revisor, Sintel en de bundel Straat!

Kazuma Eekman is een Rotterdamse kunstenaar. Hij heeft een passie voor schilderkunst en laat zich daar door inspireren in zijn illustraties. Voornamelijk werkt hij met acrylverf, maar hij is ook vaak te vinden in de zeefdruk werkplaats. Naast de vrije kunsten speelt hij graag video games en is een fanatiek hardloper.

Hard//hoofd is gratis en
heeft geen advertenties

Steun Hard//hoofd

Ontvang persoonlijke brieven
van redacteuren

Inschrijven
test
het laatste
Dubbelleven

Dubbelleven

Hoe kenmerkt het interieur van een multicultureel gezin zich? Emerald Liu onderzoekt hoe huiselijke voorwerpen een metaforische brug vormen met haar overzeese familieleden. ‘Het proces van achterlaten maakt alles wat je in je handen hebt extra betekenisvol, overgoten met een glazuur van kostbaarheid.’ Lees meer

:‘Booking profiteert, Israël bombardeert’: waarom gerichte demonstraties mij energie geven 2

‘Booking profiteert, Israël bombardeert’: waarom gerichte demonstraties mij energie geven

Booking.com pretendeert op te komen voor mensenrechten en verdient tegelijkertijd geld aan verhuur in illegale nederzettingen op de Westelijke Jordaanoever. Juul Kruse beschrijft hoe het is om tegen dit bedrijf te demonstreren. Lees meer

:Perfect Days: over ritme en ontwakende schoonheid

Perfect Days: over ritme en ontwakende schoonheid

Daria Rizvic zag de film Perfect Days op precies het juiste moment in haar leven. Een persoonlijk verhaal over de kracht van regelmaat. Lees meer

Enge man

De echte ‘sfeerboosdoener’ was de ME

Hoe kan een universiteit die in bijna elk curriculum aandacht besteedt aan dekolonisatie en de kritische blik van haar studenten, zich hier in de praktijk, wanneer het over hun eigen rol gaat, aan onttrekken? Lees meer

 1

Museumwanden heringericht: Hoe moeten vrouwelijke kunstenaars nu gecureerd worden?

Waarom hangt er nog steeds zo weinig werk van vrouwelijke makers in Nederlandse musea? Isabella Legebeke onderzoekt dit aanhoudende gebrek in een hoopvol essay. Lees meer

:Het is een ondiepe sloot voor een fantasyschrijver: deel 2

Het is een ondiepe sloot voor een fantasyschrijver: deel 2

In het tweede deel van dit essay onderzoekt Ida de complexe verhouding tussen de ‘nuchtere’ Nederlandse cultuur en fantasy. Druist fantasie eigenlijk wel zo tegen onze natuur in als we denken? Hoe is dat eigenlijk mogelijk, als we tegelijkertijd zo van fantasy houden? Lees meer

Het actieve verdraaien van de feiten over Israëlisch geweld

Het actieve verdraaien van de feiten over Israëlisch geweld

Gaza kan halverwege mei de meest extreme vorm van hongersnood verwachten. Volgens de VN bestaat deze door de mens gecreëerde catastrofe nu al in delen van Gaza. David Meijers ontleedt hoe Nederlandse politici en media actief het Israëlisch beleid vertekenen en wegkijken van de genocide. Lees meer

AI: Nooit meer eenzaamheid?

AI: Nooit meer eenzaamheid?

Ferenz Jacobs bespreekt het futuristische kunstproject van Alicia Framis. Deze zomer trouwt Francis met een hologram gebaseerd op haar eerdere relaties. AI en liefde: een gelukkig huwelijk? Lees meer

:Het is een ondiepe sloot voor een fantasyschrijver: deel 1

Het is een ondiepe sloot voor een fantasy-schrijver: deel 1

Bijna een kwart van de Nederlandse volwassenen leest het liefst fantasy of sciencefiction. Toch verschijnt er bijna geen Nederlandstalige fantasy. In dit eerste deel van een tweeluik onderzoekt Ida Hondelink waarom fantasy als volwassen literair genre zo ondergeschikt is in Nederland. Lees meer

Waarom nog schrijven na ChatGPT?

Waarom nog schrijven na ChatGPT?

Waarom blijven we schrijven als kunstmatige intelligentie dat straks beter kan dan wij? In dit essay bespreekt Shimanto Reza de verbinding die teksten bieden. Ze gaan in dialoog met elkaar, met onszelf, met anderen. Lees meer

Witte tranen

Witte tranen

Vaak kan geconfronteerd worden met een racistische misstap veel losmaken in witte vrouwen. Waar komt dat door? Fleur den Boer onderzocht het perfectionisme van witte vrouwen en hoe zogeheten 'witte tranen' racisme in de hand werken. Lees meer

Stieren en vrouwen hebben iets gemeen

Stieren en vrouwen hebben iets gemeen

Wat hebben stieren en vrouwen gemeen? In dit essay ziet Barbara Haenen tijdens het bezoeken van een stierengevecht gelijkenissen met haar eigen ervaringen. Lees meer

Bijsturen 1

Bijsturen

In dit essay legt Belle de Rode de vinger op de zere plek. Ze beschrijft hoe zij de rol van bijsturende kapitein op zich moet nemen omwille van haar zieke vader, terwijl ze juist afscheid had willen nemen van de kritische kapitein die in haar huisde. Lees meer

Gelukkig zien jonge mensen het verband tussen toen en nu

Durf te leren van het verleden

Op Dag 150 van de wrede vergeldingsactie van Israël is een eind van de ‘slachting’ van Palestijnen nog niet in zicht. Schrijver Marte Hoogenboom vestigt haar hoop op activisten en journalisten die het verband tussen ‘toen’ en ‘nu’ durven zien. Lees meer

Reden tot paniek

Reden tot paniek

In dit droomachtige en persoonlijke essay blikt Wouter Degreve terug op zijn jeugd, en hij onderzoekt de effecten daarvan op het heden. Want 'de kracht van de plek waar je bent opgegroeid mag je nooit onderschatten.' Lees meer

Vijftig jaar vrijheid van beweging

Vijftig jaar vrijheid van beweging

Tom Kniesmeijer leerde dansen op de remixes van discopionier Tom Moulton. Nu zijn eerste kennismaking met de muziek van deze sterproducent bijna vijftig jaar geleden is, blikt hij terug en komt hij tot een inzicht over onze tijd. Lees meer

Neoliberaal Lang Covid 2

Neoliberaal Lang Covid

Voor ons 'Aaah'-magazine, schreef Harriët Bergman een essay over hoe long covid-patiënten vallen tussen pech en onrecht. "Er is iets grondig mis met hoe we in Nederland omgaan met mensen met een beperking en chronisch zieke mensen." Lees meer

Waarom het over mij gaat als het over trans literatuur gaat

Waarom het over mij gaat als het over trans literatuur gaat

In dit persoonlijke essay reflecteert Tom Kniesmeijer op queer activisme en literatuur, oftewel: de reden dat we strijden en schrijven. Lees meer

Stop met het onderschatten van de gevolgen van het slavernijverleden

Stop met het onderschatten van de gevolgen van het slavernijverleden

Zelfs 150 jaar na de afschaffing van de slavernij, zijn de gevolgen daarvan nog steeds voelbaar. Veel Nederlanders zien helaas niet in hoe de koloniale geschiedenis het heden heeft vormgegeven. Pas als je de bloedrode draad door de Nederlandse geschiedenis begrijpt, kun je de huidige ontwikkelingen echt begrijpen stelt Jazz Komproe. ‘Een onzichtbare wond laat zich immers moeilijk genezen.’ Lees meer

:Het voorleesuur heeft geslagen: een essay over morele paniek

Het voorleesuur heeft geslagen: een essay over morele paniek

In april 2023 werd een onschuldige dragqueen-voorleesmiddag plots het middelpunt van ophef. Opgefokt door radicaal-rechtse groeperingen, werd er die middag luid geprotesteerd tegen het initiatief. Op het verkeerde tijdstip, maar toch: de morele paniek was niet te overzien. Reden genoeg voor Rijk Kistemaker om na te gaan: die paniek, waar komt die vandaan? En wat zit er eigenlijk achter? Lees meer

Steun Hard//hoofd en verzamel kunst!

Hard//hoofd is een vrije ruimte voor nieuwe schrijvers en kunstenaars. We zijn al dertien jaar gratis toegankelijk en advertentievrij. Zo’n vrije ruimte is harder nodig dan ooit. Steun de makers van de toekomst; sluit je vóór 1 juli aan als kunstverzamelaar en ontvang in juli je eerste kunstwerk!

Word kunstverzamelaar