Code ist nicht gleich Code
Nachhaltiges Programmieren
Auf Ebene der Programmierung ist es unser Ziel, das Innenleben unserer Bausteine so nachhaltig wie möglich zu gestalten. Dazu schreiben wir effektiven Programmcode für unsere Bausteine, der möglichst viele der folgenden Effizienzmerkmale aufweist:
Unser Code ist:
- … zeiteffizient. D.h. das Ausführen eines Programmes benötigt wenig CPU-Zeit.
- … speichereffizient. D.h. das Ausführen eines Programmes benötigt wenig Speicherplatz und wenige Speicherzugriffe.
- … energieeffizient. D.h. das Ausführen eines Programmes benötigt wenig Energie.
Alle diese Merkmale steigern die Effizienz unserer Bausteine und tragen damit direkt oder indirekt zu einem verringerten Ressourcenbedarf beim Betrieb unserer Lösungen ein.
Je nach Art und Aufgabe eines Bausteins gibt es für den darunterliegenden Code meistens (aber nicht immer) verschiedene Möglichkeiten eines oder mehrere der Effizienzmerkmale zu erreichen. Diese reichen vom Einsatz einfacher Best Practices bis hin zu effizienter Algorithmik.
Beispiel: Wahl der Sprache und des Paradigmas
Aus der Grundlagenforschung ist bekannt, dass sowohl die Wahl des Programmierparadigmas als auch die Wahl der Programmiersprache entscheidenden Einfluss auf die erreichbaren Effizienzmerkmale haben.
Kompilierte Sprachen wie C, C++, Go oder Rust liefern exzellente Ergebnisse für mehrere Merkmale simultan. Rust besticht dabei insbesondere bei Energieeffizienz. Aus diesem Grund setzen wir in unserer Entwicklung an kritischen Punkten auch verstärkt auf Rust.