Język Go pnie się w górę w indeksie TIOBE.
Na początku tego roku Golang zajmował miejsce ósme, a obecnie zajmuje pozycję numer 7.
#technologia #programowanie #golang

Język Go pnie się w górę w indeksie TIOBE.
Na początku tego roku Golang zajmował miejsce ósme, a obecnie zajmuje pozycję numer 7.
#technologia #programowanie #golang

@cebulaZrosolu - mi tam Golang pasuje - jest w miarę łatwy, pisze się w nim wygodnie, jest czytelny, kompiluje się mega szybko, binarki wyjściowe są małe, można kompilować w pełni statycznie (do kontenerów jak znalazł), programy wyjściowe są szybkie (porównywalnie do tych napisanych w C - a przy odrobinie chęci to i nawet szybsze), wspiera wszystkie mainstreamowe architektury i systemy, można cross-kompilować... jedyna wada to, że jest od dużego G
@koszotorobur mój (stary jak świat) problem z GC jest taki że w niektórych wypadkach, zamiast pomagać musisz z nim walczyć (vide Object Pool pattern np.). A na takie się natknąłem w krótkiej karierze z językami z GC.
Wolę kiedy tego typu ficzery języka są opt-in a nie opt-out.
No i reference counting FTW
@cebulaZrosolu - dla kogoś całkiem zielonego to może być problem - dla kogoś kto jakiekolwiek podstawy programowania ogrania to jest całkiem fajny język - weź sobie sprawdź w przeglądarce: https://go.dev/tour/
@cebulaZrosolu - ale wiesz na czym programowanie polega - tak jak pisałem - sprawdzaj Tour of Go i sam zobaczysz czy Ci język pasuje czy nie.
@Hajt - Rust jest całkiem niezły - ma wiele cech, które posiada Golang, ale nie jest aż tak łatwo go ogarnąć (nawet dla kogoś kto już programuje w innych językach). A wszystko to przez brak Garbage Collectora, który został zastąpiony czymś co się nazywa "borrow checker" - mechanizm zapewniający bezpieczeństwo pamięci, sprawdzający wszystkie wskaźniki do poprawnych adresów pamięci podczas kompilacji.
@Fausto @Hajt Z doświadczenia mogę powiedzieć, że jako JavaScript dev to za każdym razem gdy próbuje Rusta to nie wiem co się dzieje xD. Co prawda udało mi się napisać w nim jeden prosty program i o dziwo działa i to na tyle dobrze, że uzbierał całe 6 gwiazdek na githubie ale jakość tego kodu jest masakryczna xD.
Największą antymotywacją do nauki Rusta dla mnie jest fakt, że dalej nie ma jakiejś super ultra porządnej biblioteki GUI i fakt, że w sumie to 90% okienkowych rzeczy, które kiedykolwiek chciałbym napisać w Rustcie mogę też napisać w React + Electron i to przy tym 3 razy łatwiej i 5 razy szybciej xD. A argument o lepszej wydajności naprawdę traci na znaczeniu przy aktualnej mocy obliczeniowej komputerów.
@Catharsis oraz @Hajt - dla takich, którzy lubią pisać GUI w JavaScripcie a backend w Ruście to jest Tauri - ostatnio wyszła całkiem nowa wersja 2.0 ze wsparciem systemów mobilnych - nie powiem, działa to całkiem sprawnie: https://tauri.app/
@Hajt Mam ci podać linka do mojego gita,
A tak poważnie, to nie mogę bo bardzo nie chcę żeby ktoś kiedykolwiek połączył ten nickname z moim githubem którego mam podanego w CV i portfolio bo OSINTowe narzędzia z których korzystają rekruterzy potrafią wyłapywać takie rzeczy, ba nawet już Google całkiem sprawnie indexuje wpisy z Hejto które mają po kilka piorunów. A miałem ten sam nick na wykopie i kilku innych stronach więc wolę nie sorka.
A co do tej "apki" to raczej bym jej tak nie nazwał bo to jest prosty deamon który startuje wraz z systemem, działa w tle i robi co jakiś czas określoną czynność. Napisałem najpierw identycznego w Node.js to potrafił zjeść nawet 120MB ramu na bardzo prostej czynności i był zauważalny dla procesora. Tymczasem identycznie napisany ale w Rustcie zużywa jakieś 8MB ramu i w menagerze procesów widnieje cały czas jako 0% zużycia procesora xD.
Oprócz tego miałem jeszcze podejście i napisałem bardzo prosty player muzyczny używając Rust + Tauri i nawet to działało, ale bardzo się męczyłem i potem odtworzyłem to samo w Electronie tylko kilka razy szybciej a pod względem wydajności nie było dużej różnicy bo Tauri działa na tej samej zasadzie co Electron i też używa przeglądarki do renderowania GUI.
@koszotorobur Osobiście nie mogę polecić Tauri, z 2 powodów:
To co napisałem w moim komentarzu wyżej. Jeżeli chcesz użyć Rusta bo zależy ci na wydajności i jednocześnie większa część twojej aplikacji to będzie to co się dzieje w GUI to nie ma znaczenia czy użyjesz Tauri czy Electrona bo apka będzie tak samo ciężka dla komputera bo dalej większość rzeczy dzieje się w przeglądarce. A jeżeli potrzebujesz odpalić jakiś algorytm do ciężkich obliczeń to możesz go po prostu napisać osobno w Rustcie i odpalić za pomocą Electrona zamiast się męczyć i pisać wszystko w Rustcie.
Tauri to jest kompletne gówno na Linuxie ponieważ Tauri używa system webview. Na Windowsie to jest Edge (czyli Chromium), na Macu to jest webkit, a na Linuxie to jest webkit2gtk, który jest okropny i czasem na tej samej czynności potrafi działać 3 razy gorzej niż Chromium i przy tym zużywać jeszcze więcej ramu. No i dochodzi jeszcze fakt, że kod będzie działać inaczej na 3 różnych systemach i czasem trzeba rezygnować z jakiś fancy feature w JS albo CSS ponieważ Safari tego nie wspiera czyli automatycznie webkit też nie xD.
@Catharsis - myślę, że Tauri 2.0 ze swoim wsparciem dla systemów mobilnych jednak się przyjmie - bo niektóre apki potrzebują bardzo szybkiego kodu na bakendzie, np. do przetwarzania wideo - a zaletą Tauri jest to, że frontent możesz sobie napisać w jakimkolwiek frameworku webowym jakim chcesz - a webview na urządzeniach mobilnych działa bardzo dobrze.
Dodatkowo część problemów z webview na Linuksie może rozwiązać ten projekt: https://github.com/tauri-apps/wry.
Mi się kierunek w jakim idzie Tauri podoba - pomimo tego, że obecnie na Linuksie apki w nim napisane nie działają najsprawniej.
Zaloguj się aby komentować