For the past 5 years to so, I've been telling myself that I want to learn rust.
And for the past 4 years, I've finished the year doing little to no rust learning :(
This year I've actually made some progress! I wanted to share some of the things that finally helped me get past the learning hump I was struggling with.
Rustlings is a great little project that you run locally. It presents small example programs where you need to fix up some error, or implement some small piece of functionality.
I think that Rustlings helped me more than any other tool to get over the initial learning curve, and get comfortable with the basics of rust syntax.
While rustlings gave me a decent foundation for the basics of rust syntax, exercism really has helped build out my knowledge of the standard library. It's a great resource for learning idiomatic ways of solving problems in different programming languages. I really enjoyed trying to solve a problem on my own first, and then looking at other people's solutions after the fact. You almost always learn something by looking at how somebody else has solved the same problem you have.
Exercism has helped me build out my rust "vocabulary" more than any other learning tool so far.
Feel free to check out my profile there!
Advent of Code
Advent of code is an annual set of programming puzzles / challenges. I really look forward to doing these every year, and last year I finally finished completing all the puzzles from all the years. Last year I completed the problems with Ruby, but this year I'm going to try to solve them all with Rust.
I've published most of my solutions for previous years in my adventofcode github repo
No discussion of rust learning resources would be complete without mentioning The Book, aka The Rust Programming Language book.
I have to admit that I didn't find this terribly useful as an initial resource. Several times I tried to learn rust by starting at the beginning of The Book, and working my way through the various chapters. I never made it very far.
I did find a great channel on YouTube, Let's Get Rusty, which goes over parts of the book in order. Watching Bogdan go through various examples from the book was very helpful.
Learning about learning
What have I learned from this?
I learn best when I have a goal to achieve, and have to make use of my knowledge to achieve the goal. It's hard to learn just by reading about a topic. I think that part of that is because actually trying to write code requires that you've actually internalized some knowledge. It's very humbling to read through some documentation, and then try and put it into practice right away, and struggle to write down the most basic examples of what you've just read :)
What about you? What are some ways you've found to be helpful in learning a new language?