Curated collection of lists of useful resources to learn Rust together.
List of forums and chats you may find here. I encourage you to seek for help if you struggle to solve a problem. Rust comminity is very friendly!
Content
- Tags legend
- General-purpose official resources
- ⭐ General-purpose courses
- Interactive courses on Rust with feedback
- Cheat sheets
- Algorithmic problems and solutions in Rust
- Domain-specific topics
- Setup
- Size of applications
- Memory
- Asynchronous
- Projects catalogue
- Newspapers
- Other lists on Rust
Tags legend
- ( general ) -- general-purpose material
- ( specific ) -- domain-specific material
- ( official ) -- official Rust material
- ( non-eng ) -- non-english language
- ( course ) -- consists of series of text/video articles trying to give to a reader solid foundation
- ( book ) -- a book
- ( reference ) -- a reference
- ( article ) -- either single article or single video-tutorial
- ( not-finished ) -- not finished, too little to learn
- ( interactive ) -- it is possible to interact and get feedback from the system
- ( reading ) -- material to read
- ( video ) -- material to watch
- ( audio ) -- material to listen
- ( list ) -- list of resources
- ( newspaper ) -- regularly updating list of articles
- ( project ) -- project
- ( algo ) -- algorithmic problems and solutions
- ( toy ) -- educatuinal toy projects
- ( introductory ) -- introductory level
- ( advanced ) -- advanced level
- ( about:setup ) -- how to install rust and stup your development environment
- ( about:mem ) -- about memory management in Rust, the difference between heap, stack, code segments, etc
- ( about:app_size ) -- about size of target application
- ( about:async ) -- about asynchronous programming
- ( about:closure ) -- about closures
General-purpose official resources
( general ) ( official ) ( course )
- Rust by Example ( reading )
- Rust на примерах ( reading ) ( non-eng )
- The Rust Programming Language ( reading )
- Язык программирования Rust ( reading ) ( non-eng )
- The Rust Programming Reference ( reading ) ( reference )
- Codebase Reference ( reading ) ( reference )
- Rust cookbook( reading )
- Rust. Сборник рецептов ( reading ) ( non-eng )
- The Cargo Book ( reading )
⭐ General-purpose courses
( general ) ( course )
- ⭐ Intro to Rust by Tensor Programming ( video )
- Rust Tutorial by Doug Milford ( video )
- The Rust Lang Book by Let's Get Rusty ( video )
- Rust Programming Tutorial by dcode ( video )
- Easy Rust by mithradates ( video )
- Easy Rust by David MacLeod ( reading )
- Программирование на Rust by Computer Science Center ( video ) ( non-eng )
- Rust by Tutorials Point ( reading )
- Rust by RIP Tutorial ( reading )
- Take your first steps with Rust by Microsoft Learn ( reading ) ( interactive )
Advanced
( course ) ( advanced )
- ⭐ Crust of Rust by Jon Gjengset ( video ) ( general )
- Asynchronous Programming in Rust ( reading ) ( official ) ( about:async )
- Асинхронное программирование на Rust ( reading ) ( official ) ( about:async ) ( non-eng )
- The Rustonomicon - nonsafe programming ( reading ) ( official )
- The Rust Performance Book ( reading )
- Compile-Time Reflection in Rust by Asbjørn Gaarde ( reading )
- The Little Book of Rust Macros ( reading )
- ⭐ Rust and WebAssembly ( reading )
- The wasm-bindgen Guide ( reading )
- Guide to Rustc Development ( reading )
Interactive courses on Rust with feedback
( interactive )
- Rust playground ( official )
- Rust explaine
- Rustlings
- Tour of Rust
- Rust by Exercism
Cheat sheets
- Rust Language Cheat Sheet by Ralf Biedert
- Memoty Layout by Raph Levien
Algorithmic problems and solutions in Rust
( algo )
Domain-specific topics
- Understanding lifetimes in Rust by Thomas Heartman ( reading ) ( article )
- Web development with rust by Genus-v Programming ( video ) ( course )
- Yew Crash Course by Jeff No Zhao ( video ) ( article )
- Safety in Systems Programming from Stanford University by Ryan Eberhardt and Julio Ballista ( reading ) ( course )
- Comp Sci Rust Programming Course from University of Pennsylvania's ( reading ) ( course )
- Refactoring to Rust by Lily Mara 📘 ( book ) ( reading ) ( advanced ) :
Setup
( about:setup )
- Install Rust ( official )
- Rustup book ( official ) ( reading ) ( course )
- How to install debugger on Windows by Doug Milford ( video ) ( article )
- How to install debugger on Linux by DevbaseMedia ( video ) ( article )
Size of applications
( about:app_size )
- How to optimize size of binary executable by johnthagen ( reading ) ( article )
- How to optimize size of binary executable ( reading ) ( article )
- How to optimize size of WebAssembly binary executable ( reading ) ( article )
- Optimize Rust binaries size with cargo and Semver by Paul Delafosse ( reading ) ( article )
Memory
( about:mem )
- Refactoring to Rust by Lily Mara ( reading ) ( article )
- Strings in Rust by Erik Zivkovic ( reading ) ( article )
- Making our own executable packer by Amos ( reading ) ( course ) ( about:memory )
Asynchronous
( about:async )
- Async: What is blocking? by Alice Ryhl ( reading ) ( article ) ( introductory )
- Asynchronous Programming in Rust ( reading ) ( official ) ( general ) ( course ) ( advanced )
- Асинхронное программирование на Rust ( reading ) ( official ) ( general ) ( course ) ( advanced ) ( non-eng )
- Pin and suffering ( reading ) ( advanced ) by Amos
Closures
( about:closure )
- Finding Closure by Huon Wilson ( reading ) ( article )
- Understanding Closures by Andrew Pritchard ( reading ) ( article )
Projects catalogue
( list ) ( project )
- Are we game yet? : gamedev
- Are we web yet? : web
- Are we GUI yet? : user interfaces
- Are we learning yet? : machine learning
- Lib.rs
- A curated list of Rust code and resources by E. Dunham
Newspapers
( list ) ( newspaper )
- Read Rust
- This Week in Rust
- Rust GameDev Working Group
- Rust and WebAssembly
- The Rustacean Station Podcast ( audio )
Other lists on Rust
( list )