DEV Community

What resources would you recommend to learn Rust?

Mateusz Bełczowski on January 02, 2019

My primary language is Python, but I also have some experience in JS, Java and C++. I have read Rust docs a few months ago, but since then I haven'...
Collapse
 
_darrenburns profile image
Darren Burns

The book "Programming Rust" is my personal favourite, and it's one of the best technical books I've ever read. The explanations are detailed and visual, and I personally prefer it over the official book (although I recommend reading that too to get multiple angles on some of the more challenging aspects of the language like ownership and lifetimes).

The one thing that's really accelerated my learning of Rust recently is working through the Advent of Code 2018 challenges with it -- they're more fun than your standard programming puzzle and you get a great sense of accomplishment from finishing one. Taking your time to think about how you can work with the language to solve the problem, and trying to make use of all of the tools it gives you where suitable is hugely beneficial! I'd strongly recommend using a combination of the official book, Programming Rust, and the challenges in Advent of Code. When working through the problems, I try to think how I can model the problem using the type system, how can I use the Iterator trait to make my solution more elegant, how I can manage error handling elegantly without just calling .unwrap() on every Result, and so on.

Collapse
 
kodekage profile image
Prosper Opara

Please what's the official book for learning rust?

Collapse
 
benjaminblack profile image
Benjamin Black • Edited

The Book, also available in print from No Starch Press if you prefer a tactile thing.

The Rust subreddit.

The #rust-beginners IRC channel.

Collapse
 
takaakifuruse profile image
TakaakiFuruse

I'm alsoa python programmer.
This would be a good refference for you.
github.com/rochacbruno/py2rs

I watched videos on here (which was mentioned py2rs repo)
It would help you to get basic ideas.
intorust.com/

Then I started reading the book.
It looks some of the example on book are based on Rust 2015 so some code returns different errors on Rust 2018 (Actually some codes compiles on 2018 even the books says it won't).

Collapse
 
mateusz__be profile image
Mateusz Bełczowski

Thank you very much. It looks really cool :)

Collapse
 
renatosuero profile image
Renato Suero

Hi Mateusz,

My recommendation isn't only for Rust, the exercism is a great platform, you have problems to solve, the good thing in the exercism too me is that they have mentors to help you in the exercises and after you exercise was solved, you can check other solutions, it'll help you learn

Collapse
 
kodekage profile image
Prosper Opara

I upvote this like a billion times. exercism ia an awesome learning environment for any programming language.

It's mostly due to the mentor-ship you also get from solving problems, the mentors are super helpful

Collapse
 
elarcis profile image
Elarcis

Honestly The Book is pretty much the best if you already have a programming background.

I also sometimes look up Rust by Example when I don’t really know what a thing is used for, or I want a better look at why it’s useful.

Collapse
 
antonrich profile image
Anton

You can also take a look at my Rust playlist on youtube. There are lots of talks, but you can find some interesting videos and channels where people actually focus on the code. Let me know what is good there, so in the future I can share exactly those videos.

Collapse
 
mateusz__be profile image
Mateusz Bełczowski

Thank you so much!

Collapse
 
melvottero profile image
Melvottero

Fullstack Rust, newline.co/fullstack-rust, by \newline.co is a great new resource. Released in Q1 2020, the book will teach you to how to use Rust to build incredibly fast web-servers, build command-line tools, and compile apps to run in the browser with Web Assembly (WASM).

Collapse
 
txai profile image
Txai • Edited

I recommend to read the official book and make the final projecttha is at the end. Also, if you are familiar with C++, this repo might help a lot github.com/nrc/r4cppp/blob/master/...

Collapse
 
mateusz__be profile image
Mateusz Bełczowski

Thanks, I'm definitely gonna try it :)

Collapse
 
jcsvveiga profile image
João Veiga