DEV Community

Discussion on: Explain Rust like I'm five

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

Rust is a systems language, operating in the same space as C and C++. The difference being that Rust eases a lot of the pains those languages have. For instance, Rust has "guaranteed memory safety" whereas most system languages have lots of common ways to shoot yourself in the foot (at runtime) when dealing with memory. Rust has built-in concurrency abstractions to ensure memory safety for multi-threaded programs, including message passing. Rust also has convenience features that you usually only see in application languages. Examples: pattern matching, immutable variables, expressions, type inference.

Why and when would I want to use it?

You would use it any place where you might make a C, C++, or maybe a Go application for high performance, low overhead, and low-level access to system resources. Examples: device drivers, operating systems. Rust additionally claims to be good for "web applications". I think they mean server-side but could increasingly mean client-side as Web Assembly matures.

And (importantly) will i earn lots of money if I invest my time with it?

Products make money, not languages. As far as salary, probably no more than other languages in the long run (haven't done the market research myself), but it could be more enjoyable to maintain and add features over time.