DevEnv
2018-11-02 09:52

RUST - kiedy warto?

Żyjemy w erze, kiedy nowe języki, frameworki, miodne biblioteki pojawiają się jak grzyby po deszczu. Nauka nowego języka wymaga inwestycji czasu. Jak w kontekście powyższego przedstawia się RUST? Czy i kiedy warto po niego sięgnąć?

#devenv #technicalblog #rust #blog

Patryk27

Ayy - jak na artykuł techniczny, sporo w nim nieścisłości.

Rust jest językiem funkcyjnym

Rust jest językiem wieloparadygmatowym.

kompilator zadba o brak występowania wyścigów.

Nie do końca - Rust zapewnia bezpieczeństwo przed data race, co nie oznacza, że nie można w nim zrobić np. deadlocka (bo można i nie jest to specjalnie trudne).

Jeśli programujesz w językach takich jak C# czy Java, mających wbudowany mechanizm garbage collector (..)

https://words.steveklabnik.co[...]d-the-generational-hypothesis

Struktury nie mogą dziedziczyć po innych strukturach. Nie ma sposobu, aby zdefiniować strukturę, która dziedziczy pola i implementację metod struktury nadrzędnej.

W takim razie w jaki sposób działa Box? :-)

Minusem może być, że język nie wymusza struktury, więc każdy programista może sobie zdefiniować, rozszerzyć cokolwiek potrzebuje w dowolnym miejscu.

Nieprawda: https://doc.rust-lang.org/stable/error-index.html#E0116.

Jest optymalizowany pod kątem architektury, na której działa kompilator.

Nieprawda: Rust (wykorzystujący pod spodem LLVM) jak najbardziej umożliwia cross-compiling, gdzie np. binarka ARM produkowana i optymalizowana jest na hoście x86.

Kompilator podobnie (jak w przypadku ownershipu) nie pozwoli, by aplikacja się skomplikowała, jeśli może dojść do jakichkolwiek negatywnych zjawisk.

Nieprawda: w runtime może dojść np. do deadlocka (liczy się jako negatywne zjawisko, prawda?).

DevEnv

Hej @Patryk27 Dzięki za pomoc ;-) Jak najbardziej masz rację. Niektóre z tych rzeczy to były skróty myślowe, a niektóre to moje zaniedbania lub niewiedza ( czytałem LLVM, ale dzięki tej wskazówce będę mógł pogłębić wiedzie w tym zakresie, a E0116 to moja niewiedza ). Dzięki tobie będę mógł ulepszyć artykuł.