So I’ve finally decided to jump on the Rust bandwagon! After hearing so much about it from the internet, I figured it was time to see what all the fuss is about. If you’re like me - someone who’s been coding in higher-level languages but curious about systems programming without the headaches of C++ - this might be useful.
Short History
If you google to learn a bit of history for Rust, you will find this: Rust, a systems programming language, was initially developed as a personal project by Graydon Hoare, a Mozilla employee, in 2006. Mozilla began sponsoring the project in 2009 and officially announced it in 2010. The project shifted from the initial compiler to an LLVM-based self-hosting compiler called ‘rustc’ in the same year. Rustc successfully compiled itself in 2011. The first stable version of the compiler and standard library, Rust 1.0, was released on May 15, 2015.
What Got Me Interested
I’m originally a DevOps guy who does some backend work using Python. I’ve heard a lot about Rust from the internet and got interested in its features. I considered learning C for systems programming, but Rust seemed like a better fit for several reasons:
-
Safety Without Sacrificing Performance: As someone who automates infrastructure, I appreciate Rust’s promise of memory safety without a garbage collector. My Python scripts are great, but sometimes they’re just not fast enough for certain tasks.
-
Better Concurrency Model: Working with containerized applications has taught me the importance of proper concurrency. Rust’s approach to preventing data races at compile time is exactly what I need.
-
Growing Ecosystem for Cloud Tools: I’ve noticed more and more cloud-native tools being written in Rust. From CLI utilities to Kubernetes operators, Rust is becoming a go-to language for modern infrastructure tools.
Setting It Up (Surprisingly Easy)
Installing Rust was way easier than I expected. One command and I was good to go:
# On my Linux machine
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
This will install the complete Rust toolchain - rustup (the toolchain manager), rustc (the compiler), and cargo (the package manager). You can also install Rust from your Linux distribution’s package manager if you prefer, though the rustup method gives you more flexibility for managing versions.
After that, I just checked everything was working:
rustc --version
cargo --version
My First Tiny Program
Of course, I had to start with the classic Hello World (we all do, right?):
fn main() {
println!("Hello, Rust world!");
}
Compiling it felt oddly satisfying:
rustc hello.rs
./hello
I know it’s not much, but seeing that first successful compilation gave me a little dopamine hit!
Resources I’m Using
I’ve bookmarked these for my learning journey:
- The Rust Book - Everyone says this is the bible of Rust. Check it out at doc.rust-lang.org/book
- Rust by Example - For when I need to see real code in action: doc.rust-lang.org/rust-by-example
- Rustlings - Perfect for short practice sessions during breaks: github.com/rust-lang/rustlings
I’ll be sharing more as I build actual useful things. The syntax is definitely different from what I’m used to, but I’m excited to see where this goes. Anyone else learning Rust this year?