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
:The chosen family: Beelden van queer vruchtbaarheid

The chosen family: Beelden van queer vruchtbaarheid

Marit Pilage onderzoekt beelden van queer vruchtbaarheid in de kunst om zo de definitie van vruchtbaarheid, zwangerschap en ouderschap te herdefiniëren. Lees meer

Een woud vol dichtgetimmerde hokjes

Een woud vol dichtgetimmerde hokjes

Zazie Duinker baant zich een weg door het oerwoud van de (hergedefinieerde) woorden. Lees meer

In de afwezigheid van 1

In de afwezigheid van

Marit Pilage onderzoekt de rol en betekenis van kunst bij zwangerschap en vruchtbaarheid, maar vooral ook bij het uitblijven daarvan. Lees meer

Liever een monster

Liever een monster

Het is moeilijk te accepteren dat mensen kunnen doden, maar waarom maken we van moordenaars karikaturen? Een voorpublicatie uit Lotje Steins Bisschop en Roselien Herderschee Dodelijke gekte. Lees meer

Hoe in Duitsland het Zionistische establishment wint

Hoe in Duitsland elke vorm van empathie met inwoners van Palestina wordt verboden

De situatie in Duitsland is de laatste dagen geëscaleerd. Het politieapparaat en de politiek gebruiken harde repressiemiddelen om vooral Duitse mensen van kleur of met een migratieachtergrond de kop in te drukken. Zij verliezen op dit moment hun vrijheid van meningsuiting. Lees meer

Een villa voor het onbekende

Een villa voor het onbekende

Floris Tesink bezocht het FOMU, waar Grace Ndiritu door associatieve combinatie een expositie invulde. "Dit conflict tussen de fotografie en de ruimte brengt je op een plek die niet te begrijpen is, maar toch verslavend voelt voor degene die zich hieraan overgeeft." Lees meer

Wat dondert het of fossiele subsidies ‘echt subsidies zijn’?

Wat dondert het of fossiele subsidies ‘echte subsidies’ zijn?

‘De grootste catastrofe in de geschiedenis van de mensheid is niet het moment voor afleidingsmanoeuvres.’ Lees meer

:De aankondiging: De kunst van vertrekken (deel 1)

De kunst van vertrekken: de aankondiging

Voor kunstenaars is het essentieel om zichtbaar te zijn voor publiek. Maar wat gebeurt er als een kunstenaar zich terugtrekt of zelfs helemaal stopt met het maken van kunst? In deel 1 van de serie ‘De kunst van het vertrekken’ kijkt Lara den Hartog Jager naar de kunst waarmee sommige kunstenaars afscheid nemen uit de kunstwereld. Lees meer

Een gestolde eeuwigheid

Futiliteit op een gestolde eeuwigheid

De bergen laten Nick Sens al even niet meer met rust. Waar komt de drang vandaan ze, ondanks de mogelijke gevaren, te willen beklimmen? Lees meer

:Koloniale pijn: Papoeavlag niet gewenst tijdens defilé Veteranendag 1

Koloniale pijn: Papoeavlag niet gewenst tijdens defilé Veteranendag

24 juni was het Veteranendag, acht jaar geleden was het de oud-militairen voor het eerst verboden tijdens het veteranendefilé te lopen met de Morgenster, de vlag van de Papoea’s. Waarom gebeurde dat? Lees meer

 1

Alleen het gehele verhaal kan voor heling zorgen

Bijna 80 jaar na dato erkent de Nederlandse staat 17 augustus 1945 pas als officiële Indonesische onafhankelijkheidsdatum. Benjamin Caton vraagt zich af waarom sommige partijen deze ontwikkelingen tegenwerken en waar hun denkfouten zitten. 'Het is niet nodig is om de ene pijn te ontkennen om erkenning te krijgen voor de andere.' Lees meer

:De roman als tapijt van verweven geschiedenissen: hoe een collectieve schrijversblik houvast biedt 1

De roman als tapijt van verweven geschiedenissen: hoe een collectieve schrijversblik houvast biedt

Wat willen we vertellen, wat hebben we te vertellen en hoe willen we dat vertellen? Amber Netten, Marleen Doré en Zuma Knegjes vinden houvast in collectiviteit. Lees meer

Zelfs een kapotte klok wijst tweemaal per dag de juiste tijd aan

Zelfs een kapotte klok wijst tweemaal per dag de juiste tijd aan

Als klein meisje had Roosje van der Kamp een ritueel waarmee ze hoopte haar ouders te kunnen beschermen tegen de dood. Kan magisch denken in plaats van een poging tot controle, ook een vorm van loslaten zijn? Kan het ook een daad van liefde zijn? Lees meer

De on//smakelijke week: Wondermeisjes (of: de aantrekkingskracht van anorexia) 4

De on//smakelijke week: Wondermeisjes (of: de aantrekkingskracht van anorexia)

Toen in juni 2014 een week in het teken van eten stond was Emy Koopman not amused. Ze schreef een nog altijd actueel essay over de vraag of een eetstoornis een modeverschijnsel is. Eten door de ogen van een ex-magerzuchtige. Lees meer

Zeikwijf

De on//smakelijke week: Pisnijd

Van hoge prijzen tot pottenkijkers: een bezoek aan een openbaar toilet is voor vrouwen vaak niet vanzelfsprekend. Sofie Hees verdiept zich in de ins en outs van dit decennia-oude probleem. Lees meer

Ik heb schijt

Ik heb schijt

Maatschappelijke ongelijkheid begint in de buurt waarin je opgroeit laat Milio van de Kamp zien in zijn debuut ‘Misschien moet je iets lager mikken’, dat op 16 mei verschijnt. Een voorpublicatie. Lees meer

Toxic Friendships

Toxic Friendships

Het verbreken van toxic friendships geldt op TikTok als een vorm van self-care, maar is dat wel zo? Rijk Kistemaker buigt zich erover. Lees meer

Factdroppen

Factdroppen

Is het herhalen van feiten een manier om grip te krijgen op een wereld die steeds onzekerder is? Max Beijneveld gaat op zoek naar een alternatief voor ongebreideld factdroppen. Lees meer

Een <em>mountain home</em> in een wereld waar de tijd verdwijnt

Een mountain home in een wereld waar de tijd verdwijnt

Na het luisteren van de podcast Dolly Parton’s America besluit Anna van der Kruis haar eigen fascinatie voor Dolly Parton te onderzoeken. Waarom slikt ze alles wat Dolly haar verkoopt? Hoe kan het dat Dolly zoveel verschillende mensen samenbrengt? Tijdens de zoektocht komt ze erachter dat haar verhouding tot Dolly Parton persoonlijker is dan ze... Lees meer

Porseleinen beeldje van Vrouwe Justitia: vrouw met een roze gedrapeerde jurk en een witte blinddoek rond haar ogen

Academische vrijheid m’n reet

Promovenda Harriët Bergman voelt niet de vrijheid om zich écht kritisch uit te laten over machthebbers. De oorverdovende stilte op rechts na het ontslag van universitair hoofddocent Susanne Täuber bewijst voor haar eens te meer: veel hoeders van het vrije woord geven alleen om de status quo. Lees meer

Lees Hard//hoofd op papier! 

Hard//hoofd verschijnt vanaf nu twee keer per jaar op papier! Dankzij de hulp van onze lezers kunnen we nog vaker een podium bieden aan aanstormend talent. Schrijf je nu in voor slechts €2,50 per maand en ontvang in maart je eerste papieren tijdschrift. Veel leesplezier!

Word trouwe lezer