# Other Rust Resources The Rust community has created a wealth of high-quality and free resources online. ## Official Documentation The Rust project hosts many resources. These cover Rust in general: * [The Rust Programming Language](https://doc.rust-lang.org/book/): the canonical free book about Rust. Covers the language in detail and includes a few projects for people to build. * [Rust By Example](https://doc.rust-lang.org/rust-by-example/): covers the Rust syntax via a series of examples which showcase different constructs. Sometimes includes small exercises where you are asked to expand on the code in the examples. * [Rust Standard Library](https://doc.rust-lang.org/std/): full documentation of the standard library for Rust. * [The Rust Reference](https://doc.rust-lang.org/reference/): an incomplete book which describes the Rust grammar and memory model. More specialized guides hosted on the official Rust site: * [The Rustonomicon](https://doc.rust-lang.org/nomicon/): covers unsafe Rust, including working with raw pointers and interfacing with other languages (FFI). * [Asynchronous Programming in Rust](https://rust-lang.github.io/async-book/): covers the new asynchronous programming model which was introduced after the Rust Book was written. * [The Embedded Rust Book](https://doc.rust-lang.org/stable/embedded-book/): an introduction to using Rust on embedded devices without an operating system. ## Unofficial Learning Material A small selection of other guides and tutorial for Rust: * [Learn Rust the Dangerous Way](http://cliffle.com/p/dangerust/): covers Rust from the perspective of low-level C programmers. * [Rust for Embedded C Programmers](https://docs.opentitan.org/doc/ug/rust_for_c/): covers Rust from the perspective of developers who write firmware in C. * [Rust for professionals](https://overexact.com/rust-for-professionals/): covers the syntax of Rust using side-by-side comparisons with other languages such as C, C++, Java, JavaScript, and Python. * [Rust on Exercism](https://exercism.org/tracks/rust): 100+ exercises to help you learn Rust. * [Ferrous Teaching Material](https://ferrous-systems.github.io/teaching-material/index.html): a series of small presentations covering both basic and advanced part of the Rust language. Other topics such as WebAssembly, and async/await are also covered. * [Beginner's Series to Rust](https://docs.microsoft.com/en-us/shows/beginners-series-to-rust/) and [Take your first steps with Rust](https://docs.microsoft.com/en-us/learn/paths/rust-first-steps/): two Rust guides aimed at new developers. The first is a set of 35 videos and the second is a set of 11 modules which covers Rust syntax and basic constructs. * [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/): in-depth exploration of Rust's memory management rules, through implementing a few different types of list structures. Please see the [Little Book of Rust Books](https://lborb.github.io/book/) for even more Rust books.