Na początku tego roku Golang zajmował miejsce ósme, a obecnie zajmuje pozycję numer 7.
#technologia #programowanie #golang
@koszotorobur to dobrze czy złe?
@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
jedyna wada to, że jest od dużego G
@koszotorobur + garbage collector
@baklazan - ale tylko jak chcesz od swojego programu najszybszej możliwej szybkości - w każdym innym wypadku GC ułatwia pisanie programów bo sam nie musisz zarządzać pamięcią
@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
@baklazan - śmierdzisz mi kolego fanatykiem C
@koszotorobur Nie jestem fanatykiem C ; D (wręcz przeciwnie, to jest assembler który myśli, że jest językiem wysokiego poziomu)
Lubię ten język, jest taki przyjemny i czytelny, jest troche jak taki Python pod tym względem, ale kompilowany. Go bardzo dużo ma rzeczy w standardzie, nie trzeba miliona bibliotek podpinać.
@koszotorobur @Fausto czy to dobry język dla początkujących?
@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/
@koszotorobur to ja jestem całkiem zielony, jedyne co w życiu programowalem to maszyny CNC ale to było dawno :p
@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.
@cebulaZrosolu w sumie każdy język jest dobry dla początkujących, różnica taka, że jeden np javascript pokaże Ci efekt pracy od razu, a C trochę później : p osobiście bym brał pythona, albo javascript, go też super, ale trochę później efekty zobaczysz
To przesunął się o jedno miejsce, jak byś pytał xd
@MementoMori - nie pytałem
Ja w ostatnim czasie manuala rusta czytam ale go też wydaję się bardzo przyjemny.
@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.
@koszotorobur @Hajt czytałem ostatnio, że z rustem jak z c++ aby być w nim dobrym, trzeba zrobić z niego doktorat
@Fausto - do prostych rzeczy to nie trzeba doktoratu - ale by pisać zaawansowane współbieżne programy i pisać swoje algorytmy czy nawet optymalizować kod aby wykonywał się szybciej - no to zaczyna być całkiem trudno (ale nie wiem czy trudniej niż w C++).
@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 ja też coś tam piszę w JS ale hobbystycznie. Daj linka do repo tej appki w ruscie chętnie zobaczę
@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.
@Catharsis - widzę, że kolega mądrze chroni swoją prywatność - szacuneczek!
@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.
@koszotorobur No obserwuje na bieżąco jak rozwija się sytuacja. Ambicje mają spore, ale czy się to przyjmie to pożyjemy i zobaczymy. Jak ostatnio patrzyłem bo chciałem się pobawić tą drugą wersją Tauri to się szybko odbiłem ponieważ dokumentacja była bardzo wybrakowana albo niespójna.
Czy dobrze widzę że rośnie wolniej od Java? 🤣
@szpecku - możliwe
A pokaż gdzie to widać?
@koszotorobur porównujesz wartość "change" dla obu. Z tego co rozumiem to wskazuje znamię w w liczbie wyszukiwań fraz które zawierają nazwę języka, to zawsze można to zinterpretować że więcej osób próbuje nowy jest i potrzebuje posiłkować się pomocą
Zaloguj się aby komentować