Wiadomość została wysłana.
Bardziej energooszczędny sprzęt i zasilacze neutralne dla klimatu prawdopodobnie doprowadzą do poprawy w tym zakresie. Jednak rozwój oprogramowania może również wnieść zauważalny wkład poprzez ekologiczne kodowanie, czyli takie podejście do tworzenia oprogramowania, którego celem jest zmniejszenie zasobów i energii potrzebnej do zaprojektowania, stworzenia, przetworzenia i opublikowania projektu oprogramowania.
Badanie zlecone przez niemiecką Federalną Agencję Środowiska pokazuje, w jaki sposób dwa programy do edycji tekstu w różny sposób wykorzystują zasoby komputera: w standardowym scenariuszu użytkowania jedno oprogramowanie zużywało 3,6 watogodzin energii, podczas gdy konkurencyjny produkt zużywał zaledwie 0,93 watogodzin. Porównanie trzech przeglądarek internetowych ujawniło podobny obraz: w porównywalnych warunkach zużycie energii podczas użytkowania wyniosło odpowiednio 1,95, 0,91 i 0,66 watogodzin. W stanie bezczynności wykorzystanie procesora wahało się od 0,8 do 12 procent.
Jednym z powodów jest oprogramowanie typu bloatware, czyli oprogramowanie obciążone mnóstwem – często rzadko używanych – funkcji. W programowaniu wykorzystywane języki również powodują znaczne różnice: na przykład C, który powstał na początku lat 70. XX wieku, i stosunkowo nowy język Rust radzą sobie najlepiej, podczas gdy powszechnie używane języki Ruby i Python charakteryzują się wysokim zużyciem energii. W teście porównawczym wymagały one do tych samych zadań odpowiednio 70 i 76 razy więcej mocy niż C.
Aby zminimalizować wpływ rozwoju oprogramowania na środowisko, zielone kodowanie stosuje szereg podejść. Użycie predefiniowanego wariantu z biblioteki funkcji napisanej w C zamiast samodzielnego napisania funkcji matematycznej w Pythonie pozwala na zmniejszenie zużycia energii o 90 procent. Podobną redukcję zmierzono także w przypadku obliczania liczb losowych. Istnieje również potencjał optymalizacji, jeśli chodzi o wykorzystanie bibliotek oprogramowania typu open source, gdyż wiele z nich zawiera kod, który nigdy nie jest używany i prowadzi do niepotrzebnego zużycia energii podczas kompilacji. Oszczędności można również osiągnąć, ograniczając do minimum ruch sieciowy w rozproszonych aplikacjach, a także przeprowadzanie obliczeń możliwie lokalnie, a nie głęboko w chmurze.