• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rezygnacja ludzkości z zasobożernych języków programowania

0 głosów
257 wizyt
pytanie zadane 19 kwietnia w Offtop przez lorenz Nowicjusz (220 p.)
Cześć, czy wielkie firmy które tyle mówią ludziom o oszczędzaniu energii nie powinny czasem same zrezygnować prądotwórczych technologii?

Mam tu na myśli wszystkie te zasobożerne na pamięć języki jak maszyny wirtualne JVM, CLR, C#, Java, Kotlin, Scala.

Jak języki interpretowane Python, Ruby JS, PHP.

One przecież zwiększają zużycie zapotrzebowania na pamięć i prąd. Korporacje płaca miliony razy droższe rachunki za prąd korzystając z takiej Javy od Oracle.

Najlżejsze dla ekologi są języki kompilowane systemowe C/C++, Zig, Rust, Odin, D, V, Go, Hylo, Hare, Gleam, Toit, Roc, Beef, Jai, Carbon, C3, CppFront, Haxe, Val, Vale (zarządzanie pamięcią jak w Rust), Vala, Hylo (zarządzanie pamięcią jak w Rust).

https://www.sciencedirect.com/science/article/pii/S0167642321000022

 

Koszty idą w miliardy właśnie przez takie ociężałe języki skryptowe, interpretowane, tak pisze się w nich szybko i prosto.

Bardzo trudno debuguje się takiego pythona zwłaszcza programy gui w nim napisane potrafią się często zawieszać.

https://www.telepolis.pl/artykuly/sponsorowane/m2m-komunikacja-machine-to-machine-internet-rzeczy-orange
komentarz 20 kwietnia przez Pumpkin2003 Początkujący (440 p.)
Tu jest przykład appki (jeden z 14 mikroserwisów w Java/Spring) który zjadał 4 GB RAM, przed optymalizacją konfiguracji.... Po poprawieniu ustawień firma zaoszczędziła na płatnościach w chmurze 345 tys. dolarów rocznie !!! https://medium.com/lets-code-future/spring-boot-ate-4gb-ram-on-startup-i-got-it-down-to-400mb-d5672a7585fa

3 odpowiedzi

+2 głosów
odpowiedź 19 kwietnia przez rafal.budzis Szeryf (86,440 p.)
Nie powiedziałbym że jest to tak łatwy i oczywisty temat. Oczywiście każdy język ma jakieś swoje ograniczenia ale w niskopoziomowych językach również można popełnić błędy wydajnościowe i osiągnąć nawet gorszą wydajność. Język to tylko baza, a jeśli zapewnia on łatwiejsze debugowanie to masz niższe ryzyko błędów wpływających na zużycie zasobów.

Druga sprawa konsumenci nie są świadomi więc nie wymagają tego od firm co przekłada się na brak korzyści dla firm z stosowania najwydajniejszych języków. Dodatkowo pisząc posty takie jak ten pokazujemy że jako konsumenci nie chcemy z niczego rezygnować i mówimy że inni mają rezygnować, nie my.

Trzecia sprawa to największe zużycie energii to ekran nie narzut języka programowania.

Czwarto sprawa - kapitalizm. To system sprawia że coś się opłaca lub nie. Obecnie opłaca się produkować rzeczy których nie potrzebujemy (IT też to dotyka sam programowałem w startup przez 3 lata który nie wypalił i nikt z niego nie skorzystał. To dopiero strata zasobów. mógłbym w tym czasie zrobić dużo innych bardziej pożytecznych na społeczeństwa rzeczy) Najlepiej było by pracować u podstaw i zmieniać/ulepszać kapitalizm tak aby dobro planety było opłacalne,
+2 głosów
odpowiedź 20 kwietnia przez marcin99b Szeryf (86,300 p.)
edycja 20 kwietnia przez marcin99b

One przecież zwiększają zużycie zapotrzebowania na pamięć i prąd. Korporacje płaca miliony razy droższe rachunki za prąd korzystając z takiej Javy od Oracle.

Ale często czas programistów, który miałby pójść na pisanie wydajnego kodu, jest jeszcze droższy.

Pamiętaj że ta wydajność nie wynika z samego wyboru innych narzędzi, tylko głównie z pisania kodu w fundamentalnie inny sposób, który ten język wymusza.

To co w C# napisze w pół dnia, w Rustcie będzie pisał przez pół tygodnia. W dodatku rust wymaga więcej wysiłku, więc ludzie będą oczekiwać większego wynagrodzenia. Nie dość że dłużej trzeba czekać, to jeszcze mniej rzeczy jest zrobionych w ciągu miesiąca, a w dodatku kosztuje to wyraźnie drożej.

płaca miliony razy droższe

Miliony razy droższe, czyli jeśli teraz korporacja płaci za serwery 50 milionów zł rocznie, to po przejściu na rusta, będzie płacić 50zł rocznie?

Tam gdzie oszczędność na zasobach jest wyższa niż koszty programistów, to zazwyczaj od dawna myśli się o wydajności

W rzeczywistości to głównie corowe narzędzia w infrastrukturze, przykładowo jakieś schedulery, MQ, streamingi eventów, bazy danych, silniki do gier, ORM itd. Elementy na których bazuje dużo funkcjonalności, więc opóźnienia się kumulują. Jeśli każde zapytanie przechodzące przez ORM, którego używa cała firma, ma nadmiarowy narzut wydajnościowy, to łącznie traci się mnóstwo czasu, którego zoptymalizowanie dałoby oszczędność w wielu projektach i odczuwalną różnicę finansową w kosztach zasobów. Optymalizowanie "kolejnego CRUDa" doda dużo większy koszt niż oszczędność.

Poza tym, czy przypadkiem nie jest tak, że naoglądałeś się na youtube filmów o tym jaki Rust jest fajny i teraz czujesz rozczarowanie widząc, że mimo internetowej popularności, bardzo ciężko jest w nim znaleźć pracę?

0 głosów
odpowiedź 20 kwietnia przez Pumpkin2003 Początkujący (440 p.)
To jest trudny temat. Jak masz np. 30 mln. programistów Java, Python i Ruby i teraz chcesz ich nauczyć od nowa Zig, Rust i C++ to pomyśl jaki to jest koszt?!? :) Nie mówiąc o innych kosztach jak przestoje czy przepisanie isteniejącego oprogramowania na nowe oszczędne języki :D :D.

Jak napisał rafal.budzis są inne straty - bardzo poważne koszty, ale tu wchodzimy grubo i mocno w szambo czyli politykę.

Podobne pytania

–7 głosów
8 odpowiedzi 8,857 wizyt
pytanie zadane 31 października 2015 w Offtop przez Wartownik Obywatel (1,990 p.)
0 głosów
1 odpowiedź 660 wizyt
–2 głosów
0 odpowiedzi 327 wizyt
pytanie zadane 15 stycznia 2022 w JavaScript przez Frix4200 Nowicjusz (120 p.)

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...