Ostatnia aktualizacja 12 stycznia, 2023
Wielu programistów w trakcie swojej kariery zetknie się z przynajmniej kilkoma językami programowania. Niektóre z nich przeznaczone są do ogólnego wykorzystania, np. C lub C++. Inne języki mogą nadawać się do bardziej specyficznych zadań, np. Fortran znalazł zastosowanie w przeprowadzaniu obliczeń naukowych. Pomimo istnienia setek języków programowania wciąż powstają nowe, tak jak np. Rust – język programowania zapewniający wydajność, bezpieczeństwo oraz łatwe pisanie wielowątkowych programów.
Rust – język programowania o krótkiej historii istnienia
Jego początki sięgają 2006 roku, kiedy to Graydon Hoare, ówcześnie pracownik firmy Mozilla, rozpoczął osobisty projekt, aby stworzyć język programowania. Już w 2009 roku Mozilla rozpoczęła inwestowanie w nowo powstający język, wykorzystując go w eksperymentalnym silniku przeglądarki – Servo. Od wydania pierwszej wersji Rusta w 2010 roku realizowane są intensywne prace nad jego rozwojem. Od 2021 roku nadzór nad językiem sprawuje Rust Foundation, organizacja non-profit założona przez firmy takie jak Amazon Web Services, Huawei, Microsoft, Mozilla oraz Google.
Gwarancje bezpieczeństwa usprawniające pracę programistów
Jedną z największych zalet Rusta jest zapobieganie całej kategorii błędów programistycznych związanych z zarządzaniem pamięcią programu. Rust nie pozwala na stosowanie pustych wskaźników oraz eliminuje ryzyko powstania konfliktów w dostępie do wspólnej pamięci (race condition). Mechanizm borrow checkera pozwala na weryfikację cyklu życia obiektów na etapie kompilacji programu.
Dzięki połączeniu tych elementów możliwe stało się wyeliminowanie jednego z najczęstszych typów błędów programistycznych, powodujących błędne działanie programów oraz powstawanie luk bezpieczeństwa. Dodatkowo tworzenie wielowątkowych aplikacji jest łatwiejsze, ponieważ wszelkie błędy w dostępie do współdzielonych danych zostaną wykryte przez kompilator.
Menedżer pakietów – najważniejszy komponent języka
W przypadku klasycznych języków, takich jak C lub C++, programiści nie mają do dyspozycji menedżera pakietów wbudowanego w język. Zarządzanie zależnościami oraz komponentami projektu spoczywa więc na barkach programisty. Aby uprościć pracę z bibliotekami oraz zachęcić użytkowników do ponownego wykorzystywania kodu oraz bibliotek, Rust udostępnia menedżer pakietów oraz system budowania Cargo. Dzięki niemu programiści mogą w prosty sposób pobierać, kompilować oraz udostępniać pakiety, na przykład w oficjalnym rejestrze crates.io.
Rust – język programowania przyszłości?
Wiele osób upatruje w Ruście rewolucji, która ma w przyszłości pozwolić na tworzenie lepszego oprogramowania. Nie brakuje także krytyków języka. Wśród podstawowych wad Rusta wymienia się trudność nauki, skomplikowany i długi czas kompilacji programów oraz brak stałej specyfikacji języka. Niezależnie od rzeszy sceptyków, Rust każdego roku zyskuje na popularności. W ankiecie portalu Stack Overflow, przeprowadzonej w 2022 roku, 9% badanych zadeklarowało, iż w niedawnym czasie wykorzystywali Rusta w szerokim zakresie. Pod koniec zeszłego roku Rust doczekał się także wstępnego wsparcia umożliwiającego pisanie komponentów w jądrze Linux, jako drugiego obok C języka akceptowanego w projekcie.