Het debuggen van een baby

Sinds een aantal weken ben ik de trotse vader van een dochter, Lindsey. Het is een prachtig ding, maar tegelijkertijd verandert je hele leven. Een baby is een hele verantwoording. Voor een programmeur is het dubbel wennen, omdat zo’n kleintje nou eenmaal een hele andere tak van sport is als programmeren.

Zo is het verwachtingspatroon bij een programmeertaak heel overzichtelijk. Je neemt A, stopt deze in een functie, en er komt B uit. En als je er tien, honderd of duizend keer A in stopt, komt er net zoveel keer B uit. Zo niet bij een baby. Hier stop je A in, en komt er B uit, of C, of X. Of poep. Ja, vooral poep.

1a 1b

Een ander verschil is het debuggen. Mocht je iets verkeerd gedaan hebben bij het programmeren, geeft de omgeving waarin je programmeert bijna altijd een duidelijke hint waar de fout zit, en hoe deze opgelost kan worden. Bijvoorbeeld:

PHP Fatal error:  Cannot redeclare this_function()
(previously declared in /home/include.php:16)
in /home/index.php on line 40

Wat kunnen we van deze melding afleiden?

  • De fout wordt veroorzaakt door PHP.
  • Het betreft een fatale fout.
  • De fout treedt op in het bestand /home/index.php.
  • De fout bevindt zich op regel 40.
  • De fout wordt veroorzaakt omdat this_function() al bestaat.
  • this_function() is aangemaakt in het bestand /home/include.php, op regel 16.

Met al deze informatie is het vaak een ABC’tje om de fout op te sporen en op te lossen. Een baby daarentegen, geeft slechts één foutmelding:

2

Wat kunnen we van deze melding afleiden?

  • Er is iets aan de hand.
  • Of niet.

En dat is het eigenlijk wel zo’n beetje. Heeft ze honger, dorst, een vuile broek, een vouw in haar kleren, is ze moe, verveelt ze zich, heeft ze last van darmkrampen, is ze ziek, maakt ze zich druk om de crisis? Of is er stiekem niets aan de hand en gaat de melding vanzelf over? U begrijpt: acute stress voor de programmeur, die alles graag duidelijk en ordelijk op een rijtje heeft.

Dat gezegd hebbende, is de geboorte van Lindsey een van de mooiste en leukste dingen die ons is overkomen. Als die kleine kanjer met een pseudo-onschuldige blik een luier aan het vullen is, ligt te lachen zodra ze je herkent, trappelt van enthousiasme en met wonderlijke ogen de wereld om haar heen in zich opneemt, dan smelt je. Daar kan geen lap koude code tegenop.

3