Code is poetry
Iedereen die het programma WordPress kent heeft vast weleens op hun site de opmerking Code is poetry zien staan. De makers van het programma doelen daarmee op het feit dat programmeercode eenzelfde soort structuur als basis heeft, en net zo mooi of aantrekkelijk kan zijn als poëzie. Voor een dichter of schrijver misschien moeilijk voor te stellen, en of deze opmerking ook voor de onderliggende code van WordPress geldt kan ik niet beoordelen. Ik kan websites maken, maar ik ben geen hardcore coder. Toch begrijp ik wel wat ze bedoelen. Code kan rommelig en inefficiënt zijn, maar ook puur, goed doordacht en mooi opgebouwd. Een programma kan er aan de buitenkant mooi uitzien, aan de binnenkant kan het een grote onoverzichtelijke zooi zijn. Zelf ervaar ik dat weleens bij klanten die Frontpage van Microsoft hebben gebruikt om een webpagina te maken en dan aan mij vragen of ik dat ene ding dat niet klopt even wil oplossen. Probleem is dat Frontpage een enorme hoop onnodige code in zijn pagina’s stopt die het bijna ondoenlijk maken dit even in de broncode van de html-pagina te veranderen. Veel makkelijker is de pagina van begin af opnieuw op te bouwen. Het resultaat is vaak een html-pagina die bestaat uit een regel of 50 aan html-tags plus inhoud, tegenover een paar honderd regels aan Frontpage-code.
De schoonheid van goede code is ook terug te vinden in een recent bericht uit de Linuxwereld. Het besturingssysteem van Linux en alles wat je er verder ook maar mee kunt, is opgebouwd rondom iets dat men de ‘kernel’ noemt. Die kernel bevat inmiddels een flinke 13 miljoen regels aan code en vormt het hart van een computer die op Linux draait. Zo’n beetje 90% van alle servers in de wereld en 90% van alle supercomputers op de wereld draaien op Linux. De reden hiervoor is dat Linux stabiel, veilig en snel is. En nu heeft onlangs ene Mike Galbraith ‘slechts’ 233 regeltjes aan die enorme berg code toegevoegd die ervoor zorgt dat de latency van de desktop met een factor 10 tot 60 afneemt. Latency wil zoveel zeggen als de vertraging tussen het moment waarop een opdracht aan de computer wordt gegeven en de uitwerking daarvan. Denk aan het openen, sluiten en verplaatsen van vensters, het soepel laten lopen van een film en daarnaast lekker vlot blijven internetten, typen en wat al niet meer. Je zou denken dat dat alleen maar te maken heeft met de snelheid van je processor en videokaart, maar dat is dus niet zo. 233 regels aan goed doordachte, ‘perfect’ geplaatste en geordende code. Ik heb die code niet onder ogen gehad, maar ik zie er de schoonheid ook zo wel van in.
Voorbeelden met de patch OFF en ON op de site van Phoronix »

Misschien moet ik mijn mening over de iPad gaan herzien. Voor het eerst is er een applicatie voor dit apparaat verschenen waarbij ik moet toegeven dat er misschien toch situaties kunnen zijn waarin het handig is zo’n ding in huis te hebben. Als je tenminste een kat hebt. Een hond kan ook, maar de hond in dit filmpje was nog niet zo erg onder de indruk. Misschien wel als je de iPad mee naar buiten neemt en een eind wegslingerd.














