rust
O języku Rust słyszał już chyba każdy programista. Nie znaczy to oczywiście, że wszyscy potrafią z niego korzystać. Faktycznie jednak zyskał on niezwykłą popularność w bardzo krótkim czasie, a to za sprawą unikatowej cechy, jaką jest gwarancja bezpieczeństwa pamięci. Mowa tutaj zarówno o bezpieczeństwie pod kątem wycieków pamięci, jak i wielowątkowego dostępu do niej. W artykule przyjrzymy się mechanizmom języka Rust, temu, jak one działają, a także czy i w jaki sposób możemy wykorzystać je w języku C++.
Języki programowania wywodzące się od C mają w dalszym ciągu wielu zwolenników. Po części jest to spowodowane ogromną bazą kodu i szerokim wyborem narzędzi, które przez lata zostały stworzone na potrzeby tego języka, a po części przez niemal pełną kontrolę nad kodem maszynowym, który powstaje w wyniku kompilacji. Zaproponowanie nowocześniejszej, a jednak w dalszym ciągu niskopoziomowej alternatywy, która przyjęłaby się w środowisku programistycznym, wydawało się niemożliwe, a przynajmniej bardzo trudne. Tak było, dopóki nie pojawił się Rust...
Rust stał się w ostatnich latach językiem bardzo popularnym wśród programistów. Choć jego zastosowania są bardzo szerokie, to korzenie ma w programowaniu niskopoziomowym (systemowym). W artykule tym przyjrzymy się, jak obecnie można wykorzystać Rust w systemach wbudowanych. Nie jest intencją tego artykułu wprowadzenie w sam język, ale też do jego zrozumienia nie będzie konieczna znajomość Rust. Przykłady omówimy tak, żeby były jasne dla każdego programisty z doświadczeniem w pracy bliżej sprzętu.
Rust to stosunkowo nowy gracz na rynku systemowych języków programowania. Choć jego historia sięga roku 2006, to o prawdziwej popularności można mówić dopiero w kontekście początku obecnej dekady. Został on wtedy wzięty pod skrzydła organizacji Mozilla, a niedługo później jego kompilator osiągnął poziom pozwalający mu skompilować samego siebie. Przez kolejne kilka lat Rust ulegał burzliwym zmianom, podczas których wiele oferowanych funkcjonalności znacznie się zmieniało, a nawet znikało na zawsze. Okres ten zakończył się 15 maja 2015 roku, kiedy ujrzała światło dzienne jego wersja 1.0. W tym artykule podjęto próbę użycia tego języka przez kompletnego nowicjusza, którego jedynym – w tym momencie – atutem jest całkiem niezła znajomość języka C++.