blob: 2a92a3b4af07fabaefe1f540f0c098f80fa1e91c [file] [log] [blame] [view]
# 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 dont 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/)