Green Coding
Anna Girndt / 27.10.23 / Digitale Transformation
Heutzutage spielt die Softwareentwicklung eine immer größere Rolle, zugleich wird das Bewusstsein für das Klima auch immer größer. Es müssen jedes Jahr 372 Millionen Tonnen CO2 eingespart werden, damit das Klimaziel 2030 erreicht werden kann. Die Digitalisierung ist ein wichtiger Bestandteil bei der der Einsparung von CO2, es ist aber auch wichtig, dass die Digitalisierung an sich auch nachhaltig bleibt.
Green Coding, oder auch grünes Programmieren, soll einen Ansatz für das Schreiben von Codes bieten, der klimafreundlicher ist und dabei Ressourcen und Energie spart. Green Coding basiert auf Architekturprinzipien und wird von der Logik, der Methodik und der Plattform getragen. Es gibt zu jedem dieser Bestandteile verschiedene Anwendungsmöglichkeiten. Um eine kleine Vorstellung davon zu geben, worum es in den einzelnen Bereichen geht, hier ein paar Beispiele:
Grünere Logik
Die Logik beinhaltet generell in der Softwareentwicklung, wie die Daten verarbeitet werden und wie die Algorithmen ausgeführt werden, um die gewünschte Funktionalität der Software zu erreichen. Um eine grünere Logik in der Entwicklung mit einzubeziehen, geht es speziell darum, die effizientesten Algorithmen und die sparsamsten Dateiformate zu wählen, ohne die Performance zu beeinflussen.
Grünere Methodik
Die Methodik, also wie der Code generiert wird, spielt ebenfalls eine wichtige Rolle im Green-Coding-Umfeld. Um dies so effizient wie möglich zu gestalten, sollte man auf agile Entwicklungsmethoden setzen, da so auf Feedback schnell eingegangen und die Software effizient angepasst werden kann.
Grünere Plattform
Bei einer grüneren Plattform geht es nicht mehr speziell um den Code selbst, sondern wie und worauf dieser ausgeführt wird. Die Hardware sollte optimal ausgelastet werden, da beispielsweise nicht ausgelastete Server mehr Energie verbrauchen, als sie es eigentlich müssten. Eine zu geringe Server-Auslastung ist ein häufiges Problem. Oftmals wird bereits bei der Planung die Software zu umfangreich eingeschätzt, weswegen die benötigten Server-Kapazitäten zu hoch veranschlagt werden. Beispielsweise wird die Anzahl der Nutzer einer Software oft überschätzt. Manches Mal wird auch damit gerechnet, dass im Nachhinein immer mehr Nutzer hinzukommen, wenn dies aber nicht der Fall ist, verbraucht die Software mehr Energie als nötig.
Auf einen einzigen Nutzer gerechnet machen Optimierungen im Code keinen großen Unterschied, aber der Skalierungseffekt ist enorm, gerade bei Websites oder Apps. Beispielsweise kann eine App, die eine Million Mal am Tag aufgerufen wird, 132 Kilogramm CO2 im Jahr sparen, wenn deren Start um eine Sekunde beschleunigt wird. Ein Problem beim Green Coding besteht derzeit noch darin, dass noch keine Standards existieren, mit denen man geeignete Maßnahmen identifizieren kann.
Aber: Das Potenzial von nachhaltigem Programmieren wird erkannt. Um Green Coding weiter voranzutreiben, läuft beispielsweise an der Hochschule Trier ein Forschungsprojekt zum Thema „Potentials of Green Coding“. Ziel des Projektes ist es u. a. Möglichkeiten aufzuzeigen, wie Green Coding in die Lehrpläne integriert werden kann.