Nasza strona używa cookies. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Dlaczego programiści kochają Rusta?

Justyna Szatan Redakcja Bulldogjob
In Rust We tRust, czyli dlaczego programiści od 6 lat wybierają Rusta jako "Najbardziej kochany język programowania"?
Dlaczego programiści kochają Rusta?

Pewnie nie pamiętasz, ale korzenie języków programowania sięgają jeszcze XIX wieku i przełomowego zapisu algorytmu Ady Lovelace's z 1843 r. Dotychczas powstało ponad 8500 języków programowania i nie zamierzamy na tym poprzestać. Wróćmy do teraźniejszości — np. C/C++, które powstały pod koniec XX wieku, a teraz ustępują pola Rustowi m.in. w szybkości działania. Co więcej, nasz “celebryta” po raz 6 obronił  tytuł “Najbardziej kochanego język programowania” - przekonaj się dlaczego 👇


Kto tworzy Rusta?

Zalążek powstał w 2006 r. jako dodatkowy projekt Graydona Hoare'a przejętym z czasem przez fundację Mozilli do dalszego rozwoju. W 2015 r. uwolniono wersję 1.0., którą dzięki  open source stale rozwija aktywne community. Poza licznymi chatami, forami dyskusyjnymi, książkami oraz konferencjami poświęconymi temu językowi powstają kolejne udogodnienia dla programistów takie jak rustup, czy rust-analyzer. Wielu użytkowników zachwala sobie społeczność, jaka wytworzyła się wokół Rusta, nieustannie będąc otwartymi na nowych członków, ochoczo dzieląc się grupową wiedzą, doświadczeniem oraz pomysłami na dalszy rozwój środowiska języka.
 


Czy Rust stworzony wspólnym wysiłkiem Graydona Hoare'a i Fundacji Mozilli ma szansę przetrwać próbę czasu i zostać popularnym “narzędziem pracy”? Wszystko na to wskazuje, ponieważ od czasu wydania publicznej wersji Rust 0.1 w 2012 r. składającego się z 360 000 linijek kodu zyskuje coraz więcej sympatyków.  Aż 86,1% ankieterów StackOverflow w 2021 wskazuje go jako ulubiony język do pracy.  Również w zestawieniu tegorocznych ekosystemów developerskich jest coraz częściej wskazywany jako dodatkowy język, który wprowadzili lub planują zaimplementować w najbliższym czasie.

Według GitHuba Rust zajmuje 14. pozycję – co jako efekt 6 lat pracy na open source jest fenomenalnym wynikiem. Niektórzy wręcz przewidują, że jest przyszłością programowania z potencjałem na najbliższe 40 lat, m.in. z powodu powstania w 2021 r. Rust Fundation, której celem jest spopularyzowanie języka jako narzędzia klasy korporacyjnej. Dołączyły do niej takie firmy jak m.in.  Mozilla, Amazon Web Services, Huawei, Microsoft oraz Facebook, a prowadzone prace mają być niezależne od działania społeczności. Perspektywy są obiecujące, natomiast przekonamy się, czy nie podzieli losu np. Ziga (alternatywy dla C, która od kilkunastu lat bardzo powoli się rozwija).


Dlaczego programiści kochają Rusta?

Jest to język przypominający w wielu aspektach C/C++ (np. wydajnością) umożliwia uniknięcie zagrożeń wynikających z zarządzaniem pamięcią. Swoje “bezpieczeństwo” osiąga przez mechanizm borrow checkera, pozwalający na walidację dostępu do pamięci już na poziomie kompilacji kodu. Dzięki temu, o ile sam programista nie wymusi inaczej, Rust nie pozwoli na napisanie kolejnych linijek z ryzykiem wycieków pamięci.

Podobnie ułatwia pisanie bezpiecznego kodu współbieżnego, bez lęku o wątki chaotycznie zmieniające wspólne zasoby. Nietypowy sposób myślenia o pamięci wynikający z rezygnacji z garbage collectora, jaki wymusza Rust, nie zniechęca developerów do pracy z tym językiem. Początkowo często wyskakujące komunikaty dla każdej zmiennej mogą wystawić cierpliwość wielu na próbę — natomiast właśnie temu zabiegowi zawdzięczamy jego wydajność. Ostatecznie to programista decyduje,  jak długo zaalokowana pamięć ma być używana, co przekłada się na gwarancję spokojnego snu o stabilność działania projektu w czasie runtime'u. 

Rust kompiluje się do natywnego zoptymalizowanego kodu maszynowego dzięki używanemu LLVM. Ten zaawansowany projekt wspierający pisanie kompilatorów i narzędzi do generowania natywnego kodu już w 2015 r. zawierał 1 200 000 linijek kodu. Clang oferowany przez zespół LLMV wykorzystywany jest szeroko m.in. do programowania telefonów komórkowych, stacjonarnych czy serwerów jak również do optymalizacji zapytań SQL-owych. Społeczność przez lata stworzyła szeroką gamę narzędzi, w tym te wspierające pisanie IDE oraz analityczne, alternatywne kompilatory, liczne biblioteki oraz wspiera powstanie nowych platform docelowych.

Oczywiście Rust nie jest językiem oferujące wyłącznie zalety. Często programiści tego języka zwracają uwagę na długi czas kompilacji w porównaniu z innymi językami sprowadzanymi do kodu maszynowego. Również młodość Rusta jest sama w sobie problemem: mimo żwawo rozwijającej się społeczności wiele publicznie dostępnych projektów jest we wczesnej fazie rozwoju, oferując średni poziom dojrzałości. Wpływa to również na popularność tego języka wśród pracodawców, która mimo wzrostu w ostatnim czasie, nadal jest niska w porównaniu z takimi językami jak Python, Java, czy C. Wydaje się jednak, że z czasem wraz z rozwojem samego Rusta oraz jego społeczności wspomniane problemy zejdą na dalszy plan.


Rust w praktyce na konkretnych przypadkach

Wspomniana niska atrakcyjność Rusta wśród firm już teraz ulega wyraźnej zmianie. Jego potencjał dostrzegli tacy giganci jak np. Google, wprowadzając w open source'owej wersji Androida wsparcie do pisania części tego systemu w Rust. Są również plany wdrożenie Rusta w kodzie Linuxa. Microsoftowi za jego sprawą udało się wyeliminować  już 70% problemów związanych z bezpieczeństwem pamięci.

Rust znalazł również swoje miejsce w core'owym kodzie popularnego komunikatora Discord. W celu rozwiązania problemów z nierównym zużyciem zasobów przez garbage collector Go - dev team Discorda zdecydował się na przepisanie całego kodu na Rust, uzyskując dzięki temu pożądany szybszy kod, stabilnie używający zasoby systemowe.  Wydajność Rusta docenili również przedstawiciele świata nauki, wykorzystując go do analizy ogromnych baz danych.

Przykładem zastosowania jest chociażby aplikacja Varlociraptor, umożliwiająca porównywanie miliardów sekwencji genów w krótkim czasie (popularnej w środowisku onkologów). Uwzględniając rozwój tego języka, w przyszłości może być podstawą programów dla firm biotechnologicznych oraz w nowoczesnej medycynie. Rustowi również zaufał Facebook, który od 2016 r. prowadzi z jego użyciem kilka projektów. Gigant z Menlo Park ceni go z kolei za kompatybilność z C++, w którym stworzył już wiele ze swoich wewnętrznych projektów, oferując stabilniejszy kod stosunkowo niskim kosztem."

Reasumując jeśli zastanawiasz się, czy poświęcić czas na poznanie tego języka – wszystko wskazuje na to, że w przyszłości może Ci się to opłacić. Już sama zmiana sposobu myślenia, która wiąże się z rezygnacją z garbage collectora, zarzadzaniem stałością obiektów czy korzystanie z bogatego wachlarza dodatkowych narzędzi poszerza horyzonty programisty. Rozpoczynając swoją przygodę z Rustem koniecznie skontaktuj się ze społecznością, która pomoże Ci przejść przez pierwsze kontakty z kompilatorem. Wbudowane w język testy oraz bogata biblioteka standardowa z pewnością będą pomocne w stawianiu pierwszych kroków. Z niektórymi prywatnymi projektami opierającymi się o Rusta możesz przejrzeć m.in. na Reddicie.

Ostatecznie decyzja należy do Ciebie drogi czytelniku – rozpocznij własną przygodę z Rustem i sam oceń jakie korzyści przyniósł Tobie 😉

Rozpocznij dyskusję
Zobacz kogo teraz szukają

Lubisz dzielić się wiedzą i chcesz zostać autorem?

Podziel się wiedzą z 160 tysiącami naszych czytelników

Dowiedz się więcej