Laat ons het klassieke voorbeeldje nemen: toon “Hello World” op het scherm van de gebruiker en laat “Hello World” ook nog eens uit een tabel komen. Men programmere dit in Basic (jawel) én men programmere hetzelfde in Java of C#. In het eerste geval duurt het schrijven twee minuten en werkt het maar in een beperkte […]


Hoe heeft technologie een impact op je business?
Ontvang elke week het zakelijk IT-nieuws rechtstreeks in je inbox!



Laat ons het klassieke voorbeeldje nemen: toon “Hello World” op het scherm van de gebruiker en laat “Hello World” ook nog eens uit een tabel komen. Men programmere dit in Basic (jawel) én men programmere hetzelfde in Java of C#.

In het eerste geval duurt het schrijven twee minuten en werkt het maar in een beperkte set-up. In het tweede geval hebben we een oplossing met alle includes, frameworks en ORM’s, nuttig en nodig om tot een goed werkend, mooi en onderhoudbaar programma te komen. Zelfs alle eventualiteiten zijn voorzien van mogelijke hard- en software-evoluties. De nodige genericiteit en architectuur (die er over honderd jaar nog zal staan) zijn hiervoor aanwezig.

 

Maar moet dit laatste?
Ik maak dagelijks mee hoe ontwikkelaars erin slagen de dingen om de verkeerde redenen veel complexer te maken dan ze in werkelijkheid zijn. Met alle gevolgen van dien: te weinig geheugen, te weinig CPU of IO-vretertjes. Het argument dat hardware de kostprijs niet bepaalt, houdt op een bepaald moment geen steek meer.

Sommigen gaan ervan uit dat er onbeperkte hardware aanwezig is. Zij vergeten evenwel twee dingen: a) het schrijven en architectureren van zogenaamde generic en futureproof code is behoorlijk tijdrovend en b) hardware verbruikt nog altijd energie. Hoe minder we de hardware belasten, hoe minder energie er verbruikt wordt. Simpel toch ?

De slimme lezer voelt mij al aankomen. Ik wil een kritische noot plaatsen bij het onbesuisd gebruik van de begrippen architectuur, generiek en futureproof. Ik wil een pleidooi houden voor just enough architecture om de ‘i-lities’ (zie mijn vorige blog: maintainability, availability, scalability, usability, …) te realiseren door middel van een goede design en net genoeg gelaagde implementatie, goeie services en interfaces.

Optimaal energieverbruik realiseren bij hardware, ontwikkeling, uitvoering, tijdsinvestering of resources is een complex gegeven. Toch moeten we ons durven afvragen: “Wanneer voldoet iets en wanneer is het optimaal?

Vandaar dat ik de notie, de attitude, de uitdaging van green programming wil introduceren.

Misschien worden we wel allemaal maatschappelijk verantwoorde ICT’ers als we elkaar durven vragen : “Hoe groen is je code?” Voor één keer zou de code wel eens groener kunnen zijn aan de overkant. En de winnaar mag naar Kopenhagen.