This article is based on the Codementor Hour of Code Office Hour hosted by Steve Klabnik, who is currently a part of the Rust team and writing the official Rust Documentation. Rust is a relatively new low-level programming language for developing reliable and efficient systems.

There are many languages such as Go, so why choose to work on Rust?

The story starts two years ago when I went home to visit my mom for Christmas. I come from a small town where we have farms and cows, so there isn’t a whole lot to do there compared to the bustling New York City. So I was just reading Reddit and Hackernews, and this announcement came out about the release of Rust 0.5. At the time, the pitch for Rust was:

“The type safety of Haskell, the concurrency of Erlang, and the speed of C++”

Which impressed me, since those three things were what Ruby was terrible at. I thought I should learn the language because it would teach me a lot from what I normally use, and I stuck to it because I really missed doing low-level programming. I’ve done a lot more low-level programming during college, and I actually didn’t do much web stuff until my first internship out of college. A lot of my friends in college were working on a PhD in operating systems research.

So, after doing web for 4~5 years, I got really excited about working on Rust because it’s an area I hadn’t thought about for a while and it’s fun for me. The main reason I’m still involved and doing Rust documentation work is that these low-level programming languages come along every 10~20 years, and I’m really excited to see something new emerge. Our team has actually taken a lot of lessons from Ruby, Python, and JavaScript and used the knowledge to improve low-level tooling.

Of course, Rust is definitely not something that’s for everybody, but I would encourage everyone who has an interest in systems or low-level programming to check it out, since I think it’s a great language.

Is now a good time to learn Rust?

For some people, now is a good time, for most others, I’d say give it 6~12 weeks.

Basically, Rust recently announced the schedule for the release of version 1.0, so on Friday, on January 9th, 2015, the alpha release is coming out. This means we’re going to try not to break anything, but we might break some things. 6 weeks after, the beta version will be released on February 16th, which would be the best time to start learning Rust, since things won’t be changing. We’re not going to break anything in the beta version unless we absolutely have to.

This morning, we just redid the entire standard library’s I/O, so we’re still making lots of big changes. Most people don’t want to learn things with big changes, which is why I’d suggest waiting until February to learn it if you’d prefer learning a finished language.

However, it’s very rare you get to play with a programming language before it’s done, so if doing so is appealing to you and if you’re willing to relearn things that will change, now is the time to learn. You could actually have an influence on the language if you wanted to since we’re making the last couple of breaking changes.