In: computer, programming, language.

Rust (programming language)

Designed by Graydon Hoare
Appeared April 15 2015
Typing: affine, inferred, nominal, static, strong

Rust’s syntax is similar to C, C++ and Java, although many of its features are more influenced by functional programming languages.

Rust grew out of a personal project begun in 2006 by Mozilla Research employee Graydon Hoare. Mozilla began sponsoring the project in 2009 as a part of the ongoing development of an experimental browser engine called Servo.
The project was officially announced by Mozilla in 2010.
Rust was named after rust fungi, in reference to their hardiness.

Personal

I never used Rust for anything serious, but I tried to learn it several times over the years.
I am attracted by the idea of “massive performance” and smart tools, but I’m turned off by how complicated and weird is the syntax.
What I like a lot from Rust are the amazing CLI tools… a TON of them!

For X years in a row, Rust was the most loved language on Stackoverflow, which has to mean something:


Articles

How Rust went from a side project to the world’s most-loved programming language

By Clive Thompsonarchive, posted february 14 2023
https://technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language
For decades, coders wrote critical systems in C and C++. Now they turn to Rust.

Rust is not a good C replacement

By Drew DeVault, March 25, 2019
https://drewdevault.com/2019/03/25/Rust-is-not-a-good-C-replacement.html

The rate at which these languages become more complex, based on the rate at which they add features per year:

C: 0.73 new features per year, measured by the number of bullet points in the C11 article on Wikipedia which summarizes the changes from C99, adjusted to account for the fact that C18 introduced no new features.
Go: 2 new features per year, measured by the number of new features listed on the Wikipedia summary of new Go versions.
C++: 11.3 new features per year, measured by the number of bullet points in the C++17 article which summarizes the changes from C++14.
Rust: 15 new features per year, measured by the number of headers in the release notes of major Rust versions over the past year, minus things like linters.


Learn

Rust requires a ton of learning; don’t skip this part.

Rust cheatsheet

Comprehensive Rust 🦀

A 4 day Rust course developed by the Android team. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling.
Includes Android-specific content on the last day
The course assumes that you already know how to program. Rust is a statically typed language and we will sometimes make comparisons with C and C++ to better explain or contrast the Rust approach.
If you know how to program in a dynamically typed language such as Python or JavaScript, then you will be able to follow along just fine too.
https://google.github.io/comprehensive-rust
https://github.com/google/comprehensive-rust

References

Awesome

×