RUST - co fajnego można z tym zrobić?

0

Cześć wszystkim.

Od jakiegoś czasu noszę się z zamiarem hobbistycznej nauki RUSTa. Chciałbym poszerzyć horyzonty i uciec w wolnym czasie od szarej codzienności w Javie. Stąd moje pytanie: czy ktoś z forumowiczów używał RUSTa? Jeśli tak to do czego? Szukałem po sieci informacji o pisaniu w RUST, restowych serwisów i jakiś bibliotek do gamedevu ale przyznam szczerze że materiałów jest niewiele, w porównaniu do Javy. Jak wygląda praca z tym językiem? Czy tak samo jak w przypadku C/C++ biblioteki trzeba budować ze źródeł pod wersję kompilatora (jeżeli jej nie ma na stronie dostawcy) czy może istnieje jakiś RUSTowy Maven? Co poza sterownikami można napisać w RUST?

Warto czy nie warto? Chętnie zapoznam się z opiniami.
Cheers.

1
MrMadMatt napisał(a):

Szukałem po sieci informacji o pisaniu w RUST, restowych serwisów i jakiś bibliotek do gamedevu ale przyznam szczerze że materiałów jest niewiele, w porównaniu do Javy.

w google dla zapytania rust rest api jest 4 miliony odpowiedzi. Tu jest porównanie frameworków do rest api.
Tutoriali będzie mniej niż do Javy bo język młodszy i ma jeszcze małe community

1

Rusta tak samo jak i Scale robili chyba na prochach i prochy są potrzebne by ogarnąć co się tam dzieje, wiem, że rust to w miare niskopoziomowy język do zastąpienia C++ no ale naprawde, musieli taką zawiłą składnie zrobić?

0

Można zrobić todo listę w React.js i skompilować sobie to do wasm, a potem odpalić w przeglądarce i zastanawiać się jak to k*wa może działać.

2

Ja miałem się tego uczyć i jakieś HelloWorld zrobiłem, ale potem zapału i motywacji zabrakło.

MrMadMatt napisał(a):

Szukałem po sieci informacji o pisaniu w RUST, restowych serwisów i jakiś bibliotek do gamedevu

to widziałeś pewnie https://arewegameyet.rs/ ?

KamilAdam napisał(a):

Tutoriali będzie mniej niż do Javy bo język młodszy i ma jeszcze małe community

To akurat może być zaleta. Bo można nauczyć się tego Rusta i robić tutoriale, pisać artykuły czy dostarczać inną wartość (np. tooling), a za parę lat wyrobić sobie pozycję eksperta i status, jaki ma np. DHH w światku Ruby'owym.

A taki myk trudniej byłoby zrobić np. we frontendzie, gdzie masz od groma tutoriali i całą gromadę rozpoznawalnych ekspertów.

Tylko pytanie, czy Rust się wybije. Dla mnie to obiecujący język ze względu na możliwość zastosowania do WebAssembly (oraz do wieloplatformowości, żeby pisać apki, które się odpalą zarówno na stronie jak i na desktopie, zamiast w powolnym Electronie). Ale to jeden język? Przecież są inne języki, które się kompilują do WebAssembly. Przypuszczam, że to raczej WebAssembly będzie tym słowem mocy. Chcą z tego całą platformę uruchomieniową zrobić (niezależną od weba), coś na modłę JVM. A to rodzi kolejne zastosowania (sandboxing? Robienie wirtualek?).

1

W Rust możesz pisać gry które działają nawet na klawiaturze mechanicznej.

3
MrMadMatt napisał(a):

Cześć wszystkim.

Od jakiegoś czasu noszę się z zamiarem hobbistycznej nauki RUSTa. Chciałbym poszerzyć horyzonty i uciec w wolnym czasie od szarej codzienności w Javie. Stąd moje pytanie: czy ktoś z forumowiczów używał RUSTa? Jeśli tak to do czego? Szukałem po sieci informacji o pisaniu w RUST, restowych serwisów i jakiś bibliotek do gamedevu ale przyznam szczerze że materiałów jest niewiele, w porównaniu do Javy.

Pisanie weba to sredni pomysl. Owszem mozna ale znajda sie przyjemniejsze klocki do budowy tak trywialnych rzeczy.
Mozna natomiast pisac w nim jakies uslugi sieciowe czy uslugi przetwarzania jakiejs konkretnej rzeczy, procesu, danych itd.
Jezeli dobrze zepniesz design to dostaniesz dobra wydajnosc moze nawet lepsza niz w innych klockach ale czesto kosztem sporo mniejszych zasobow.

Jak wygląda praca z tym językiem? Czy tak samo jak w przypadku C/C++ biblioteki trzeba budować ze źródeł pod wersję kompilatora (jeżeli jej nie ma na stronie dostawcy) czy może istnieje jakiś RUSTowy Maven?

Cargo. Dodatki zwa sie crates. Dodajesz je w pliku z dependencies, zapisujesz i przy budowaniu/uruchamianiu cargo samo dociaga co potrzebuje.
https://crates.io

Co poza sterownikami można napisać w RUST?

Teoretycznie jak w kazdym jezyku - wszystko. Jednak nie wszystko sie oplaci, bo wlozenie np. 50 linii w jezyku X da taki sam rezultat co wlozenie 150 w Rust.
Mozna pisac w tym systemy operacyjne Redox OS, mocno zasobozerne moduly, embedded, etc.

Warto czy nie warto? Chętnie zapoznam się z opiniami.

Tutaj masz moj post sprzed X czasu w ktorym opisalem swoj punkt widzenia https://4programmers.net/Forum/Inne/339229-w_jaka_strone_zmierza_rust?p=1673166#id1673166

btw. Jedna mała uwaga. To co napisał @karsa - nie ma się co oburzać gdy ktoś pisze co myśli i ma w tym 100% racji. Nie takie jest przeznaczenie tego języka. To, że można i ktoś tak zrobił nie oznacza, że jest to dobre ;-)

2

Bardzo fajny podcast w temacie https://open.spotify.com/episode/1rk8SRQTwwfY6bMaRawza4?si=utkCDA1FTW-uMXpNmZo-dw

Developer mozilli opisuje jak po audycie na kodzie C++ okazało się, że każde współdzielenie danych między wątkami miało jakiś błąd (mogący również wpłynąć na security).
I troche jak rust temu zapobiega.

2

fajne wprowadzenie do Rusta, gdzie zamiast dogłębnego tutoriala piszą po prostu przykłady kodu z krótkim komentarzem:
https://fasterthanli.me/articles/a-half-hour-to-learn-rust

Wynika z tego, że Rust jest fajniejszy niż myślałem. Tj. pisząc w nim jakieś HelloWorldy, rysował mi się obraz "języka podobnego do C++, tylko że trochę bardziej nowoczesnego i z niesławnym borrow checkerem".

A z tych snippetów widzę, że to i do Ruby'ego jest podobne.
Np. bloki kodu mogą zwracać wartości (są wyrażeniem), ify też są wyrażeniem. Można robić destructuring krotek.

Nic dziwnego, że ludzie uważają to za cool język (chociaż podobno straszna hipsteroza tam jest. No ale generalnie technologie na literę R tak mają, że przyciągają dziwnych ludzi).

1 użytkowników online, w tym zalogowanych: 0, gości: 1