Rust for Rubyists


Know Ruby?
Learn Rust!!!

Mozilla's Rust language is super interesting, but there aren't a lot of docs available. I've spent the time checking out Rust and digging through what little is available, and wrote it all down as I learned.

Buy a PDF, MOBI, or EPUB for $5 or read online for free.

Frequently Asked Questions

Who are you?

I'm Steve Klabnik, and I've been a Rubyist for years now. I'm a Rails committer and a prolific Open Source contributor. Currently I work at Balanced.

I love new programming languages, and while I've been using Ruby for the past few years, I've coded in C, Java, PHP, Haskell, and a host of others. I also love writing, and good documentation, which is hard to find. Rust doesn't have a lot of that yet, so I'm pitching in!

Why Rust?

The first section of the book discusses this, but basically, Rust is good at everything Ruby is bad at. I like learning new things, but if I'm gonna put the time in, I want it to expand my mind.

I can tell you I already understand more about concurrency, even after working with Rust for a week.

Rust also interests me because it's a safe systems programming language, and those historically have been some of the most unsafe. No null pointers, pattern matching, and lambda expressions are some of my favorite language features, and Rust has them all!

What am I buying?

Basically, you can read the whole thing online for free if you'd like, or you can buy a copy in PDF, MOBI, or EPUB. Like anyone else, I have bills to pay, so I think this is fair: you can read the full content in a browser, or you can give me some money and check it out on your e-reader.

The contents of the three are exactly the same: I generate them both from the same source.

Do I have to know Ruby?

Really, I love alliteration: the only thing the 'for Rubyists' really means is that I assume you don't know about pointers, concurrency, or similar things. That's okay, you've never had to think about them before! I explain this stuff in extra depth. If you program in another dynamically typed language, you'll be just fine. If you program in another systems language, you'll be more than fine.