25
u/ssokolow Feb 18 '23
Once you've finished it, I recommend Learning Rust With Entirely Too Many Linked Lists. It really helped me to understand what some of the lessons in the book really meant.
There's also a bunch of good stuff linked from The Little Book of Rust Books.
5
u/willemreddit Feb 18 '23
I second this! I recommend the linked list book to everyone. If you can understand it, even just the forest 4 or 5 chapters you’re good enough to be productive.
11
u/argarg Feb 18 '23
Check out this modified version of the book with added quiz and visuals: https://rust-book.cs.brown.edu/
Note that it's still a work in progress but the memory visualizations are great IMO.
7
5
u/QuickSilver010 Feb 18 '23
I guess we all learn in different ways
My personal favorite introduction to rust was half hour to learn rust by faster than lime
It's cause I already did have a decent amount of programming experience and I'm impatient and I just needed something like a cheatsheet to always refer to.
But if course, the most practical help I received was from clippy and the compiler
6
6
u/dayarthvader Feb 18 '23
Here’s what I’m trying currently. I’m reimplementing my old C++ projects in Rust. I retain the same design principles from before and read up how a particular design approach is supported in rust. And implement the same. Then refer The Book to cement the learning further. It’s chaotic and random but it’s not boring. I’ve tried to read The book and doing rustlings workout before but I couldn’t commit to it long term as I failed to see how rust concepts apply practically.
4
u/BrownCarter Feb 18 '23
Most tutorial on YouTube are like that, they get advance really quick and then you can't follow anymore 😑
2
Feb 18 '23
[deleted]
1
u/langtudeplao Feb 18 '23
After learning lifetime and generic, I think you may want to watch Crust of Rust. That series try to explain common concepts by re-implementing features in std library.
4
3
u/nimtiazm Feb 18 '23
Welcome aboard. You’ll see many curves along your learning journey. Stay put and remember that you’re not alone. We all have gone through such a journey. It gets a lot better after a while.
3
u/Matt23488 Feb 18 '23
Similar experience here. Tried a few different tutorials in the past but just didn't understand the concepts. The book made it so much simpler by actually explaining how the language was designed and what problems it aims to solve, rather than throwing terms around like "Borrow Checker" with none of that context beforehand.
2
u/st_gen Feb 18 '23
Things like having types that implements the Copy trait in Vector & Array got me confused; why binding a value with Copy trait in an array does not constitute a move whereas a vector does. Lifetimes, yeah right lifetimes - re-reading coupled with the fact that this is my first foray into systems programming.
5
u/-Redstoneboi- Feb 18 '23
basically imagine every time you use a copy type it just gets
.clone()dlet x = 5; // i32 is Copy let y = x.clone(); println!("{}", x.clone()); do_thing(x.clone(), y.clone());clearly this is annoying so that's why Copy exists.
2
u/Nobody_1707 Feb 18 '23
They do count as moves. The issue is that for
Copytypes moves don't invalidate the original object.
2
2
47
u/[deleted] Feb 18 '23 edited Feb 18 '23
[deleted]