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.

Verzamel kunst en steun ons
of word magazine abonnee

Sluit je aan

Wil je meer Hard//hoofd?
Meld je aan voor een nieuwsbrief!

Schrijf je in
test
het laatste
Oh Sultan, pахмат, maar ik voel niet hetzelfde

Oh Sultan, pахмат, maar ik voel niet hetzelfde

Na een paardentocht in Kirgizië wordt voor Jip van Steenis duidelijk dat haar connectie met gids Sultan een andere wending nam dan ze had verwacht. Wat gaat er allemaal verloren in de interculturele vertaling wanneer je als toerist een band opbouwt met iemand in het buitenland? En hoe begeef je je in deze heteronormatieve dynamiek als biseksueel, in een land waar je niet queer mag of durft te zijn? Lees meer

Sigrid Kaag blijft diplomatisch bij Zomergasten, heel even komt ze los

Sigrid Kaag blijft diplomatisch bij Zomergasten, heel even komt ze los

Janine Abbring begint het gesprek met de woorden: “Je bent de afgelopen paar jaren veelvuldig bekeken door andermans ogen, maar vanavond kies jij de beelden.” Dat zet meteen de toon, maar roept ook de vraag op: zal doorgewinterde diplomaat Sigrid Kaag, met haar altijd politiek correcte antwoorden, het achterste van haar tong laten zien, of... Lees meer

:Zomergast Tommy Wieringa ziet ruimte: 'Er is nog heel veel te redden'

Zomergast Tommy Wieringa ziet ruimte: 'Er is nog heel veel te redden'

Tommy Wieringa verleidt je op fantastische wijze om samen met hem een doodlopende steeg in te lopen. Met een lach en een handig gebaar wijst hij de kijker op de fonkelende scherven onder ieders voeten. 'Er is nog heel veel te redden.' Lees meer

Auto Draft 22

Merel Pauw/Elmer zoekt naar vorm in Zomergasten: ‘Mag ik hier eeuwig over twijfelen?’

Astrid Goossens ziet hoe Zomergast Merel Pauw (/Elmer) zich comfortabel voelt als buitenstaander, terwijl ze praat over haar idolen, ingewikkelde mannen, blinde vlekken, het loslaten van controle, nationalisme en de schoonheid van harige kostuums. Maar krijgen we ook de mens ‘Merel’ te zien, of genieten we vooral van een performance? Lees meer

Auto Draft 21

Zomergast Nasrah Habiballah houdt koppig de handrem erop: 'Het gaat niet om mij'

Lies Defever ziet hoe Nasrah Habiballah in het laatste seizoen van Zomergasten drie uur lang strategisch de handrem aangetrokken houdt. Via fragmenten van anderen zien we haar liefde voor de wereld om haar heen, maar zelf blijft ze vooral ongrijpbaar. Koppig lijkt ze vast te houden aan dat wat goede journalistiek in principe zo belangrijk maakt: jezelf telkens opnieuw proberen aan de kant te zetten. Lees meer

:Archieven van West-Papua: Over narratieven, liederen en wat als kennis telt

Archieven van West-Papua: Over narratieven, liederen en wat als kennis telt

Wanneer haar opa na vijftig jaar terugkeert naar zijn geboorteland, realiseert Julia Jouwe zich pas hoezeer het ontbreken van West-Papua in het collectieve geheugen van Nederland invloed op haar heeft. Lees meer

Zien is beminnen 1

Een pluchen harnas

Aan de hand van een berenjas, het COC, een appelgroene broek, non-binair zijn en een rode cabrio neemt Tom Kniesmeijer je mee in de kronieken van zijn eigen genderbeleving. Lees meer

Zien is beminnen 2

Zien is beminnen

Olave Nduwanje besteedt uren met haar lichaam, kijkt beminnend, en deelt haar ‘poreuze plooien, tastbare rondingen, vochtige openingen, en ademsnakkende lediging’ met anderen. Dit lukt haar nu, na dertig jaar, door haar realiteit te analyseren, in de spiegel te kijken en door porno te maken. Lees meer

Over hoe je echtheid kan dragen

Over hoe je echtheid kan dragen

Leren riempjes die uitdagend uitsteken, of juist veilig verstopt tussen sokken in een mandje. In dit essay reflecteert Imme van Zuilekom op de strapon: die zowel zachtheid, hardheid en samenzijn bevat. Lees meer

Auto Draft 16

Weer thuis voelen in een wegwerpwereld

Onderzoeksprogramma Reparatie Remise vroeg schrijvers, kunstenaars en denkers te reflecteren op reparatie als culturele, sociale en politieke praktijk. In dit essay onderzoekt Lieke Knijnenburg wat het betekent om zorg te dragen voor spullen in een wereld die draait op snelheid, vervanging en voortdurende vernieuwing. Lees meer

Verwachtingen

Verwachtingen

In dit openhartige en genuanceerde essay deelt Sharon van Oost haar twijfels bij het grootbrengen van een jongen in deze vrouwonvriendelijke wereld. Hoeveel ruimte zal ze hem geven? Heeft ze zijn gender niet al te veel bepaald? Hoe kan ze hem helpen om zelf uit te vinden wat mannelijkheid voor hem betekent? Lees meer

:Metamorfosen in het Rijksmuseum: verkrachtingscultuur tentoongesteld, maar niet gecontextualiseerd

Metamorfosen in het Rijksmuseum: verkrachtingscultuur tentoongesteld, maar niet gecontextualiseerd

Tussen marmeren goden en mythologische meesterwerken in de tentoonstelling 'Metamorfosen' ziet Nina Läuger vooral een pijnlijk gebrek aan context. Ze vraagt zich af waarom het Rijksmuseum geweld, misogynie en verkrachting in klassieke kunst toont zonder die beelden echt vanuit het heden te bevragen. Lees meer

:Athene: Ergens tussen Grindr, Griekse oudheid en cruisegebieden

Athene: Ergens tussen Grindr, Griekse oudheid en cruisegebieden

Datingapps: een vloek en een zegen. Enerzijds laten ze je toe zonder grenzen gelijkgestemden te ontmoeten, anderzijds monetariseren ze je seks- en relatiebehoeftes. Bestaat er een best of both worlds? Onder de Griekse zon overdenkt Sharvin Ramjan de liefde in al haar vormen. Lees meer

Reuzenalken

De laatste reuzenalk en wat hij ons leert over de klimaatcrisis

In een Brusselse opslagkast staat een vogel die we nooit meer levend zullen zien. We weten al eeuwen hoe soorten verdwijnen en toch lijken we opnieuw weer toe te kijken. Wanneer wordt weten eindelijk handelen? Lees meer

:Kraamtranen: hoe de postpartum depressie de roze wolk van het moederschap doorprikt

Kraamtranen: hoe de postpartum depressie de roze wolk van het moederschap doorprikt

In ons collectieve geheugen lijkt er weinig plaats voor moeders* die na de bevalling lijden aan depressieve gevoelens: deze verhalen ondermijnen het klassieke beeld van het moederschap als een roze wolk. Gelukkig brengen steeds meer vertellingen nuance aan, waarbij de vraag rijst in hoeverre we als maatschappij verantwoordelijkheid dragen voor de eenzaamheid die kersverse moeders kan overvallen. Een essay door Anne Louïse van den Dool. Lees meer

:Over taboedoorbrekende literatuur en langharige auteurs: I Hate Henry

Over taboedoorbrekende literatuur en langharige auteurs: I Hate Henry

Is literatuur links of rechts? Sarah Neutkens duikt in twee klassiekers en gaat na of ze wel zo links zijn als vaak wordt beweerd. Lees meer

Winnaar Hooray for the Essay 2026 - Wat zo is

over samen niet weten

Anne Louïse van den Dool won met het essay 'Een middenwereld: over samen niet weten' de derde plaats van Hooray for the Essay 2026. Lees meer

Winnaar Hooray for the Essay 2026 - Wat zo is

Tweede plaats Hooray for the Essay 2026 - Dat is dan jouw waarheid

Saar Lermytte won de tweede plek van Hooray for the Essay 2026 met het essay Dat is dan jouw waarheid Lees meer

Steen 1

Steen

Stel je eens voor hoe een relatie met een steen kan beginnen, hoe die eruitziet en waarin jullie elkaar zullen vinden. Sjoukje Kamphorst neemt je mee op een literaire reis langs verloren zwerfkeien, gebarsten geliefdes en zinloos geploeter. ‘Wat een steen te zeggen heeft, kan alleen maar van groot gewicht zijn.’ Lees meer

Winnaar Hooray for the Essay 2026 - Wat zo is

Winnaar Hooray for the Essay 2026 - Wat zo is

Melissa Dhondt won de eerste prijs van Hooray for the Essay 2026, met haar essay ‘Wat zo is’ waarin ze haar moeders relatie tot alcohol op een invoelende manier beschrijft. De wedstrijd is een samenwerking tussen DeBuren, Rekto:Verso en Hard//hoofd. Lees meer