I'm a college student interested in Rust.And I see that there are many online courses on Rust,I nearly don't konw how to choose.My knowledge of programming languages is limited to what I have heard, and I've never tried to actually learn any of them.
My question:How do I learn and use Rust in a systematic, step-by-step manner?
Learning Rust as your first programming language is a tough challenge. However, I would suggest that you start by reading “The Book”; it's free (though you can buy a paper copy if you want), and does start from the beginning of how to write a program.
If you read the entire book, and take the time to think about what it says and try everything yourself, you will have quite a systematic introduction to Rust — not to all of Rust, but enough that what more you need beyond that will depend on what kinds of programs you actually want to write, and you'll know much better what questions to ask.
Another option to consider is Easy Rust which is also an online book. But this one is aimed at first-language learners.
The Book is definitely the best resource for getting started, but there are many other texts that I can highly recommend if you are interested in various part of the ecosystem:
- Google's Comprehensive Rust covers a lot and feels very similar to The Book
- The 'Nomicon is useful for learning about unsafe and some stuff that a more introductory text like The Book doesn't cover. Well supplemented by The Reference for all the gritty details.
- Gankra's Learn Rust With Entirely Too Many Linked Lists is a very fun way to become familiar with Rust in a practical manner by building 6 versions of a somewhat hated data structure
- Rust Atomics and Locks from Mara Bos is fantastic in its explanation of atomic orderings and is a must read if you plan to work with concurrency and parallelism
All of these are free and available online and are definitely worth the read.
I also recommend the articles from Alice Ryhl and Amos Wenger for explorations into specific topics.
Thanks so much to everyone who was so helpful with your advice!