Hejto.pl
Motyw strony
Dodaj post

Wpis użytkownika koszotorobur w Programowanie

Fanatyk

w Programowanie

15piorunów

**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.

Komentarze (30)

Praktykant0piorunów

Czy dobrze widzę że rośnie wolniej od Java? 🤣

Praktykant1piorunów

@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ą

Fanatyk1piorunów

@szpecku - możliwe 🤷
A pokaż gdzie to widać?

Gruba ryba2piorunów

Ja w ostatnim czasie manuala rusta czytam ale go też wydaję się bardzo przyjemny.

Osobistość1piorunów

@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.

Fanatyk1piorunów

@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.

GitHub - tauri-apps/wry: Cross-platform WebView library in Rust for Tauri.Cross-platform WebView library in Rust for Tauri. Contribute to tauri-apps/wry development by creating an account on GitHub.GitHub
Osobistość1piorunów

@koszotorobur Osobiście nie mogę polecić Tauri, z 2 powodów:

1. 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.
2. 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.

Fanatyk2piorunów

@Catharsis - widzę, że kolega mądrze chroni swoją prywatność - szacuneczek!

Osobistość2piorunów

@Hajt Mam ci podać linka do mojego gita, :pleading_face::point_right::point_left: trochę się wstydzę xDDDD.
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.

Gruba ryba2piorunów

@Catharsis ja też coś tam piszę w JS ale hobbystycznie. Daj linka do repo tej appki w ruscie chętnie zobaczę :smiley:

Osobistość3piorunów

@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.

Fanatyk2piorunów

@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++).

Autorytet3piorunów

@koszotorobur @Hajt czytałem ostatnio, że z rustem jak z c++ aby być w nim dobrym, trzeba zrobić z niego doktorat

Fanatyk3piorunów

@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.

Osobistość2piorunów

To przesunął się o jedno miejsce, jak byś pytał xd

Autorytet2piorunów

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ć.

Autorytet2piorunów

@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

Mistrz2piorunów

@koszotorobur to ja jestem całkiem zielony, jedyne co w życiu programowalem to maszyny CNC ale to było dawno :p

Mistrz3piorunów

@koszotorobur to dobrze czy złe?

Tytan1piorunów

@koszotorobur Nie jestem fanatykiem C ; D (wręcz przeciwnie, to jest assembler który myśli, że jest językiem wysokiego poziomu)

Fanatyk2piorunów

@baklazan - śmierdzisz mi kolego fanatykiem C :rolling_on_the_floor_laughing:

Tytan0piorunów

@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

Fanatyk2piorunów

@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ą 🤷

Tytan1piorunów

>jedyna wada to, że jest od dużego G
@koszotorobur + garbage collector

Fanatyk4piorunów

@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 😒

Język Go pnie się w górę w indeksie TIOBE. Na początku tego roku Golang zajmował miejsce ósme, a obecnie zajmuje - koszotorobur - Hejto.pl (demo semantyczne)