Er bestaat zoiets als ‘groene’ code. Nee, dit is niet code geschreven in groene symbolen, maar milieuvriendelijke code: software die zo energiezuinig mogelijk is. Door je als programmeur bewust te zijn van hoeveel energie het een computer kost om bepaalde taken uit te voeren, kun je de oplossingen kiezen die het meest milieuvriendelijk zijn.
Ik schrijf zelf ook code, en ik zal de eerste zijn om toe te geven dat ik nog nooit ‘groen’ geprogrammeerd heb. Misschien heb ik wel groene software geschreven, maar dat was dan per ongeluk. Zelfs als ik heel simpele programma’s schrijf, ben ik niet met het milieu bezig. Nog belangrijker: tijdens de lessen computerwetenschap die ik gevolgd heb, is de term ‘groen programmeren’ niet één keer gevallen. En dat is een slechte zaak.
Videos by VICE
Ik ben namelijk lang niet de enige die niet groen programmeert, zo blijkt uit een onderzoek dat deze week is gepresenteerd op de 38e International Conference on Software Engineering. De onderzoekers hebben surveys en interviews uitgevoerd onder 464 softwareprogrammeurs uit verschillende disciplines, en ontdekten dat juist op de plekken waar groen programmeren van het grootste belang is, er niet aan gedaan wordt.
“Groen programmeren wint aan populariteit als onderzoeksveld, maar er is weinig bekend over hoe programmeurs zelfs denken over het belang ervan,” schrijven de onderzoekers. “Zelfs eenvoudige vragen als: ‘welke typen software hebben richtlijnen voor energieverbruik?’ en ‘hoe kun je energieverspillende code vinden en aanpassen?’ hebben geen duidelijke antwoorden.”
De onderzoekers, afkomstig van IBM, Google, Microsoft en de University of Delaware, wilden antwoord krijgen op deze en andere vragen, door programmeurs te vragen naar hun perspectief op de relatie tussen energieverbruik en het ontwerpen, testen en onderhouden van software. De gebieden waarin deze vragen volgens hen het meest dringend zijn, zijn mobiele technologieën, datacentra en geïntegreerde systemen.
“Op basis van de eerste ronde interviews formuleerden we de hypothese dat programmeurs op deze gebieden eerder energiebesparingsdoelen hebben dan andere programmeurs, aangezien energie bij dit soort software een kostbaar goed is – het batterijleven van mobiele telefoons is heel belangrijk, en in datacentra staat elke verloren kilowatt gelijk aan minder data die verzonden kan worden.”
Deze hypothese bleek te kloppen bij ontwikkelaars van mobiele software. 53 procent van de programmeurs op dit gebied gaf aan regelmatig of zelfs bijna altijd bezig te zijn met groen programmeren. Maar bij datacentra en geïntegreerde technologieën was het een heel ander verhaal. Respectievelijk 75 en 86 procent van de mensen in het onderzoek deden zelden of nooit aan groen programmeren.
Uit verdere interviews bleek waarom dit zo is. Zoals een datacentrum-programmeur het zei:
Onze prioriteit ligt bij de gebruikerservaring, omdat dat is wat onze klanten willen. We zouden meer aan efficiëntie kunnen doen, maar aangezien klanten ons niet per kilowatt betalen, maakt dit ons niet aantrekkelijker dan onze concurrenten. Snelheid en betrouwbaarheid daarentegen zijn wel waardevol voor ons.
Programmeurs van geïntegreerde systemen voerden weer andere redenen aan. Een van deze redenen is dat hun systemen vaak toegang hebben tot netstroom, en dus niet afhankelijk zijn van beperkte accu’s. Daarnaast wordt efficiëntie bij dit soort systemen vaak al op hardwareniveau geregeld. Tot slot gaven de programmeurs ook aan dat “de kwaliteit van het real-time gedrag van ons systeem belangrijker is dan energie besparen.”
Dit betekent dat overal waar duurzaamheid niet iets is waar mensen geld voor over hebben (mobiele technologie), energiezuinigheid het aflegt tegen kwaliteiten waar klanten wél oog voor hebben. De onderzoekers doen in een aantal suggesties om dit verre van groene bedrijfsklimaat meer milieuvriendelijk te maken. Zo zouden er tools ontwikkeld kunnen worden waarmee programmeurs in de testfase van software gemakkelijk energieverspilling kunnen opsporen, en gemakkelijk kunnen bepalen of de hoeveelheid energie die een taak kost redelijk is.
Volgens de onderzoekers waren de geïnterviewde programmeurs zeker wel geïnteresseerd in het concept van groene code. Ze gaven aan zeker bereid te zijn om hulpmiddelen te gebruiken om hun projecten milieuvriendelijker te maken. Zoals met zoveel dingen het geval is, lijkt het erop dat de wortel van de problemen eerder een gebrek aan kennis en bewustzijn is, dan opzettelijke onverschilligheid.