I want to learn Rust. There are so many resources available and I am unsure which one to go for, and if there are any tips on getting started?
I am a software developer by trade
Edit: Thanks for all the great replies!
I want to learn Rust. There are so many resources available and I am unsure which one to go for, and if there are any tips on getting started?
I am a software developer by trade
Edit: Thanks for all the great replies!
IMO the best way to start in a new language is to rewrite some of your previous projects in that language.
I generally start out by rewriting a couple simple 1-3 function console apps, basic leet code stuff like; palindrome, fizzbuzz, reverse an array in place, etc, and some simple unit tests for them. Then I go ahead and rewrite some of my previous projects or uni assignments in that language.
At that point I generally have a good understanding of basics and have an idea of how to approach a new project. When I got to this point in rust I then started on threading, async, why it’s easy to return a String and an ordeal to return &str, etc.
Please, don’t ever use async Rust lol :( it’s so terrible to work with closure recapture. There’s really one way of structuring your code to keep the borrow checker happy and I haven’t yet found it in my projects lol.
Yeah I would also recommend avoiding async Rust as much as possible. There’s really only a small number of situations where you need it - WASM, embedded (Embassy), and unfortunately most of the web ecosystem forces you to use it even if it isn’t necessary for 99% of people.
Sync Rust - even multithreaded - is absolutely fantastic at protecting you from mistakes & giving an “if it compiles it works” experience. Async Rust on the other hand is full of surprising and difficult to debug footguns.