| # Learn Rust |
| |
| The following is a list of resources for programmers new to Rust to get |
| comfortable with the language. |
| |
| Many of the following resources are also available offline in |
| [rustup](https://rustup.rs/) via the `rustup doc` command. |
| |
| ## Learning |
| |
| ### General resources |
| |
| - [The Rust Programming Language](https://doc.rust-lang.org/book/) |
| - [Programming |
| Rust](https://www.oreilly.com/library/view/programming-rust-2nd/9781492052586/) |
| (book) |
| - [Rust by Example](https://doc.rust-lang.org/stable/rust-by-example/) |
| - [Tour of Rust](https://tourofrust.com/) |
| - [rustlings](https://github.com/rust-lang/rustlings) |
| - [The New Rustacean podcast](https://newrustacean.com/) |
| |
| {% dynamic if user.is_googler %} |
| |
| #### Googlers only |
| |
| - [Rust 101 @ Google](https://goto.google.com/tdxgq) |
| - [Rust at Google](https://goto.google.com/rust) |
| |
| {% dynamic endif %} |
| |
| ### Resources for low-level programmers |
| |
| - [Learn Rust With Entirely Too Many Linked |
| Lists](https://rust-unofficial.github.io/too-many-lists/) - a deep dive into |
| pointer types, lifetimes, and unsafe code |
| - [Learn Rust the Dangerous Way](http://cliffle.com/p/dangerust/) - "LRtDW is a |
| series of articles putting Rust features in context for low-level C |
| programmers who maybe don’t have a formal CS background — the sort of people |
| who work on firmware, game engines, OS kernels, and the like." |
| - [Rust for Embedded C |
| Programmers](https://docs.opentitan.org/doc/ug/rust_for_c/index.html) |
| |
| ## Documentation |
| |
| - [Standard Library documentation](https://doc.rust-lang.org/std/index.html) |
| - [Fuchsia Rust crates |
| documentation](https://fuchsia-docs.firebaseapp.com/rust/) |
| |
| ## Miscellaneous |
| |
| - [The Rust Playground](https://play.rust-lang.org/) |
| - [Rust on Godbolt](https://rust.godbolt.org/) |