Rust began, in 2006, as a side project of Graydon Hoare, an employee at Mozilla. Mozilla believed in the potential of this new language and began sponsoring it. It was revealed to the world in 2010.
According to Hoare, the name of the language comes from the rust fungus. This has caused Rust programmers to adopt “Rustaceans” as their nickname of choice.
In mid-2020, following the layoffs at Mozilla, the Rust core team said they were considering a new Rust foundation to boost Rust independence. It was officially announced in February 2021.
- Rust 2015:
editionhas been introduced in 2017)
- Rust 2018:
- Rust 2021:
Rust is a very nice language. It has been designed to cover most development areas, from an easy CLI application to system programming. And all of that with safety, control and productivity in mind.
Regarding safety, you can think of Python, and for control, C. Rust is some kind of mix of the best of both of these worlds. While I do not think Rust is a good replacement for Python as such, it is for sure a perfect replacement for C or any low-level languages, with the safety and fun of Python, but without trading the performance of C-like languages at the same time.
The Rust programming language is fundamentally about empowerment: no matter what kind of code you are writing, Rust empowers you to reach further, to program with confidence in a wide variety of domains than you did before.
— Foreword from the Rust programming language book.
In the other hand, it makes things a bit more complex and noisy. Well, this is the reason of this book and why Rust is known to have a steep learning curve.
- It does not have a garbage collector. But you can still choose how the memory is managed. And you do not have to free the memory yourself. It has a lot of smart pointers for memory efficiency.
- Because of how memory is managed - the ownership principle - it is memory and thread safe. There are no dangling pointers, no data race, no buffer overflow, no iterator invalidation.
- It keeps performance, very close to what C can offer. Even sometimes faster.
classand so, no
- First-class WebAssembly support.
Last but not least, although not related to the Rust language itself, the whole ecosystem and tooling around Rust is just awesome. It is definitely feature-complete:
- A complete ecosystem (
- Good IDE support (IntelliJ-based and VSCode)
- Documentation directly in source code, from the comments
- Examples folder managed with
- Tests in source code and
cargocan be expanded:
- Compiler giving hints thanks to