Learning Rust
Getting Started + Installation | Cheat Sheet
Table of Contents
- How Do I Start Learning Rust?!
- Ok, I Think I Know The Basics But How Do I Get Better?!
- Rustlang Tooling
- Helpful References Throughout Your Journey
- The Rust Community
- Recommended (but not free) Books & Courses
How Do I Start Learning Rust?!
by Reading
- The Book: start reading now, read it whenever you can, and don't worry if it takes a long time to get through. You will reference it for most of your time using Rust. or try the Rust Book with Quizzes
Affectionately nicknamed “the book,” The Rust Programming Language will give you an overview of the language from first principles. You’ll build a few projects along the way, and by the end, you’ll have a solid grasp of the language.
- Rust By Example: like 'The Book', with less docs and more sample code
If reading multiple hundreds of pages about a language isn’t your style, then Rust By Example has you covered. While the book talks about code with a lot of words, RBE shows off a bunch of code, and keeps the talking to a minimum. It also includes exercises!"
- (Blog) Mental Models for Learning Rust. (
kerkour
) - (Blog) A Half Hour to Learn Rust. (
fasterthanlime
) - (Blog Series) Learn Rust the Dangerous Way (
cliffle
) "Rust features in context for low-level C programmers"Existing Rust tutorials are great, but they focus on safe features. This companion tutorial takes an unsafe-first approach that may be more appealing for low-level systems programmers like me.
by Watching
- "Learn Rust in One Video" : highly rated video for learning rust concepts from scratch.
- "Going through the Rust Programming Book Live!"
by Doing
- Tour of Rust: Step-by-step interactive walkthrough of Rust, all in your browser.
- Rustlings: Rust by Example -style exercises you complete via your own local environment
Alternatively, Rustlings guides you through downloading and setting up the Rust toolchain, and teaches you the basics of reading and writing Rust syntax, on the command line. It's an alternative to Rust by Example that works with your own environment.
- Exercism.org: Work through examples in order from "hello world!" to advanced concepts like Doubly-linked lists. Do work in the browser or via your local environment using the exercism CLI, with progress reflected in the web app. Get mentorship and guidance from real people.
We’re building a place where anyone can learn and master programming for free, without ever feeling lost or stupid. We're here to help everyone get really good at programming, regardless of their background. We want to share our love of programming, and help people upskill as part of their upward social mobility.
- Comprehensive Rust: From the Google Android team
This is a four day Rust course developed by the Android team. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. It also includes Android-specific content on the last day. The goal of the course is to teach you Rust. We assume you don’t know anything about Rust and hope to: Give you a comprehensive understanding of the Rust syntax and language. Enable you to modify existing programs and write new programs in Rust. Show you common Rust idioms.
Ok, I Think I Know The Basics But How Do I Get Better?!
by Reading
- The 'Typestate Pattern' in Rust (
cliffle
) - Rust Design Patterns
- Design Patterns, in Rust (
refactoring.guru
)Website | Repo - Rust Types Trivia (
jonhoo
) - Safely Writing Code That Isn't Thread Safe (
cliffle
) - Futures Concurrency III: (avoiding)
Select!
in Async Code
by Watching
by Doing
whorl
whorl was created to teach you how async executors work in Rust. It is not the fastest executor nor is it's API perfect, but it will teach you about them and how they work and where to get started if you wanted to make your own.
- TP-201: Practical Networked Applications in Rust
A series of projects that incrementally develop a single Rust project from the ground up into a high-performance,
- https://github.com/dpc/sniper
Educational Rust implemenation of Auction Sniper from Growing Object-Oriented Software, Guided By Tests networked, parallel and asynchronous key/value store. Along the way various real-world Rust development subject matter are explored and discussed.
- Learn Video Codecs by Implementing one in 100 lines of Rust
Rustlang Tooling
- Rust-Analyzer: An incredible IDE plugin for the rust language. plugin links: vscode, vim
- The Rust Playground: run and share rust snippets in the browser
Helpful References Throughout Your Journey
The Rust Community
Recommended (but not free) Books & Courses
Beginner
- 📘 Beginning Rust From Novice to Professional (O'Reilly)
- 👩🎓 Rust Adventure
chrisbiscardi
- 📘/👩🎓 Learn Rust in a Month of Lunches (Manning, Macleod)
- 📘 Zero to Production in Rust
luca palmieri
- 📘/👩🎓 ~$30 - Rust In Motion (Manning): From creators of The Book, a video walkthrough + interactive transcript for BRAND NEW Rustaceans that goes over critical concepts
- 👩🎓 $129 - Rust for Javascript Developers
Intermediate
- 📘 Programming Rust (O'Reilly)
- 📘 ~$35 - Rust In Action
- 📘 ~$30 - Rust for Rustaceans (nostarch press)