marzec 1, 2019

Rust cz1 - środowisko

Rok 2018

Rok 2018 miał stać pod znakiem nauki języka Rust. Życie postanowiło pójść w swoją stronę i skończyło się na przeczytaniu paru stron Rust book'a wraz z instalacją kompilatora rustc.

Rok 2019

Potrzeba powrotu do Rust'a wzrosła. Nauka owego języka stała się celem na ten rok.
W przeszłości usłyszałem sformułowanie: "najlepszą formą nauki jest nauczanie innych", stąd zrodził się pomysł na powstanie serii Rust dla początkujących, gdzie chcę podzielić się drogą do lepszego poznania nowej technologii. Życzę, mam nadzieję, udanej lektury :).  Jeżeli masz ochotę odnieść się do samych źródeł (z których korzystam) zapraszam na oficjalnego Rust book'a

Cel

Uczenie nowej technologii najłatwiej przychodzi poprzez tworzenie czegoś konkretnego. Moim ostatecznym celem, będzie przepisanie silnika napisanego dawno dawno temu w C++ i OpenGL (wizualizacja danych grafowych 3d).
Jednak na początek chciałbym zacząć od czegoś mniejszego, natomiast temat wymyślę i podzielę się w następnym wpisie.

Część 1 - przygotowanie środowiska

Linux / macOS:

➜ curl https://sh.rustup.rs -sSf | sh

Przyda się także edytor tekstu, w moim przypadku jest to VSCode, choć może postaram się nauczyć vim - zobaczymy ;)

Jeżeli chcesz zacząć bawić się Rustem bez konieczności instalowania środowiska, dostępna jest piaskownica

https://play.rust-lang.org/

Rust jest dostępny w dwóch wersjach:

  • stable: rustup install stable
  • nightly: rustup install nightly (niektóre narzędzia wymagają tej wersji, gdyż implementuje funkcjonalności, które nie trafiły jeszcze do wersji stabilnej)

Jeżeli będziesz w sytuacji, gdzie nie będzie dostępu do internetu, rustup udostępnia dokumentację offline, w tym Rust booka a dostaniesz się tam przez:

rust➜ rustup doc

Cargo

Jest managerem pakietów nazywanych w Rust crates (link). Zasada działania jest taka sama jak w przypadku NPM. Poszczególne zależności mogą być dodawane zarówno do projektu jaki instalowane globalnie jak np narzędzia których używam:

To wszystko na dziś, na koniec dodam ten link i ten.

Pozdrawiam