ING Bank Śląski
ING Bank Śląski

Green coding, czyli dlaczego warto poznać zielone kodowanie

Poznaj cele i działanie green codingu, czyli podejścia do programowania, tworzenia aplikacji i systemów informatycznych w ramach zrównoważonego rozwoju.
12.04.20235 min
Green coding, czyli dlaczego warto poznać zielone kodowanie

Ekologia to jedno z najważniejszych wyzwań współczesności. Coraz częściej nagłaśnia się tematy związane z ochroną środowiska naturalnego i zrównoważonym rozwojem. Dyskutują o tym już nie tylko aktywiści, ale też organizacje, media, ludzie z całego świata. Słowem, ekologia już dawno przestała być jedynie ozdobnikiem, a stała się istotnym elementem wielu branż. Również branży IT. Odpowiedzią na jej ekologiczne problemy jest zjawisko green codingu.

Zapraszamy do zapoznania się z artykułem, który je przybliży oraz wzięcia udziału w konkursie programistycznym, który opisujemy na końcu artykułu 🌳

Czym jest green coding

Green coding to podejście do programowania skupiające się na tworzeniu aplikacji i systemów informatycznych zgodnie z zasadami zrównoważonego rozwoju, minimalizując również ich negatywny wpływ na środowisko naturalne. Tylko trzy działania ograniczają emisję dwutlenku węgla uruchamianego oprogramowania:

  • efektywność energetyczna, 
  • świadomość emisji dwutlenku węgla
  • efektywność użycia sprzętu.


W ramach green codingu programiści, testerzy, jak i pozostali specjaliści z branży IT dążą do ograniczania zużycia energii, wykorzystując energooszczędne rozwiązania oraz zwiększając świadomość wpływu technologii na środowisko naturalne, przyczyniając się tym samym do minimalizowania emisji gazów cieplarnianych.

Green coding w praktyce

Green coding może przybierać wiele form i zawiera mnogość działań podejmowanych przez programistów oraz całe zespoły projektowe. Oto kilka przykładów zielonych metodyk:

  1. Wykorzystywanie możliwie efektywnych algorytmów i kodu, które wymagają mniejszej ilości mocy obliczeniowej i zasobów sprzętowych.
  2. Optymalizacja aplikacji pod kątem zużycia energii, poprzez m.in. wyłączanie nieużywanych funkcjonalności, zwrócenie uwagi na liniową charakterystykę wzrostu zapotrzebowania na sprzęt wraz ze wzrostem ilości użytkowników. 
  3. Korzystanie z technologii pozwalającej na lepsze wykorzystanie sprzętu, jak np. wirtualizacji serwerów w chmurach prywatnych, czy publicznej chmury obliczeniowej z której korzysta wiele organizacji, gdzie zawsze można udostępnić wolną pojemność każdemu, kto jej potrzebuje, dzięki czemu żaden serwer nie pozostaje bezczynny.
  4. W przypadku użycia sprzętu ważnym aspektem wpływającym na obniżanie emisji gazów cieplarnianych jest również jego lokalizacja - mamy regiony gdzie produkowana energia ma niższy wskaźnik emisji dwutlenku węgla.
  5. Innym czynnikiem wpływającym na obniżenie emisji jest czas uruchomienia przetwarzania - mając wpływ na ten element wybieramy pory dnia gdzie współczynnik zielonej energii produkowanej w danym regionie w ciągu dnia jest najwyższy.
  6. Wykorzystywanie praktyk programowania, które minimalizują emisję gazów cieplarnianych. Zaliczają się do nich m.in.: unikanie nadmiernego zużycia zasobów sprzętowych, używanie wstępnie przetworzonych danych czy minimalizowanie powtarzających się operacji.
  7. Rozwój aplikacji, które wspierają cele zrównoważonego rozwoju, takie jak: apki dla rowerzystów, mapy z zaznaczonymi obszarami chronionymi dla, czy aplikacje do monitorowania zużycia energii.


Tak naprawdę to tylko kilka z wielu przykładów. Kluczem jest, aby zespoły projektowe oraz sami programiści byli świadomi wpływu swoich działań na środowisko naturalne i podejmowali kroki do zminimalizowania tych negatywnych.

Czy są mniej i bardziej “zielone” języki programowania?

Każdy język programowania może być wykorzystywany w ramach green codingu. Wynika to z tego, że podejście zielonego programowania skupia się na sposobie projektowania, tworzenia i utrzymywania aplikacji, a nie na konkretnym języku. 

Istnieją natomiast niektóre języki programowania, które są szczególnie popularne w kontekście green codingu ze względu na swoje cechy, zastosowania i możliwości. Oto one:

Kompilowane:

  • C/C++- pisze się w nim aplikacje systemowe, co pozwala na optymalizację kodu pod kątem zużycia zasobów sprzętowych.
  • Rust- został zaprojektowany by być bezpiecznym, szczególnie pod względem współbieżności. Oferuje automatyczne zarządzanie pamięcią bez garbage collectora, co wpływa na utrzymanie wysokiej wydajności.
  • Go- ma małe programy wyjściowe i lekką wielowątkowość, która pozwala na znaczne oszczędności pamięci.


Oparte o wirtualną maszynę (VM):

  • Java- jest szeroko stosowana w aplikacjach serwerowych i chmurowych, zastosowanie VM umożliwia zoptymalizowanie zużycia zasobów sprzętowych.
  • C#- wieloplatformowy podobnie jak Java, wykorzystywany do budowy aplikacji serwerowych.


Interpretowane:

  • JavaScript- szeroko wykorzystywany w webdevie, co umożliwia optymalizację aplikacji pod kątem zużycia energii w przeglądarkach.

Co dalej z ideą green codingu?

Green coding będzie odgrywał kluczową rolę w przyszłości IT, ponieważ branża ta ma coraz większy wpływ na środowisko naturalne, a jej rozwój zależy od zrównoważonego rozwoju.

Jednym z głównych wyzwań dla branży IT jest zmniejszenie emisji gazów cieplarnianych, które są generowane w trakcie produkcji energii elektrycznej potrzebnej do zasilania serwerów, urządzeń mobilnych i komputerów. W związku z tym, programiści i inni specjaliści IT będą musieli opracować i stosować nowe metryki, narzędzia, technologie, które pozwolą spełnić cele zrównoważonego rozwoju (jak wykorzystanie energii odnawialnej, czy zwiększenie efektywności energetycznej sprzętu i aplikacji).

Green coding będzie miał również wpływ na rozwój nowych aplikacji i usług wspierających ochronę środowiska. Przykładami takich aplikacji są m.in. inteligentne systemy zarządzania energią, aplikacje do monitorowania emisji CO2, czy platformy e-commerce promujące produkty ekologiczne
- mówi Marcin Gandor, ekspert ds. IT w ING Banku Śląskim.


Wraz z rosnącym zainteresowaniem społeczeństwa kwestiami związanymi z ochroną środowiska, green coding ma i będzie miał coraz większe znaczenie dla wizerunku firm i organizacji chcących pokazać swoje zaangażowanie w zrównoważony rozwój i przyciągnąć klientów i pracowników o podobnych wartościach.

Jedną z takich firm jest ING Bank Śląski, który stworzył inicjatywę szerzenia zielonego kodowania 🌳 ING zaprasza programistów do udziału w konkursie "Zielona Tesla za zielony kod”.

Szczegóły konkursu

W ING wystartował konkurs skierowany do programistów, który polega na napisaniu określonego kodu programistycznego w taki sposób, by zużywał jak najmniej energii. Zgłoszenia do konkursu "Zielona Tesla za zielony kod" można przesyłać do 14 maja 2023.

W ramach zadania konkursowego uczestnik musi stworzyć kod źródłowy programu i programów uruchamiających zoptymalizowanych pod kątem zapotrzebowania na energię niezbędną do ich prawidłowego działania. Na zadanie konkursowe składają się 3 niezależne wyzwania.

Kod źródłowy programu musi zostać przygotowany w Javie, a programy uruchamiające, czyli build.sh i run.sh, muszą być przygotowane w języku skryptowym bash -
tłumaczy zasady Marcin Gandor z ING


10 najlepszych zadań będzie ocenianych przez jury, które wyłoni jednego zwycięzcę, autora najbardziej poprawnego inżyniersko rozwiązania. Zwycięzca zostanie ogłoszony 21 czerwca 2023 roku do godziny 16.00 na stronie banku. Nagrodą jest roczne korzystanie z samochodu Tesla 3.

Więcej informacji nt. konkursu i regulaminu znajdziesz na stronie konkursu poniżej:

KONKURS ZIELONY KOD


Zapisujcie się i powodzenia!

<p>Loading...</p>