External learning resources

From Rust Community Wiki
Jump to navigation Jump to search

The Rust programming language community also hosts a number of other texts and resources relating to advanced concepts or domain applications.

Official Resources[edit | edit source]

The Rust Reference[edit | edit source]

The Rust Reference is the primary text for what is considered stable Rust. It is by no means a formal specification of Rust, but it contains most things you need to know about it.

The Rustlings Course[edit | edit source]

The Rustlings Course is a community-maintained course that contains "small exercises to get you used to reading and writing Rust code". This course is terminal-based, although there is an (older) web-based version that provides links exercises in the Rust Playground.

The Rustonomicon[edit | edit source]

The Rustonomicon (often abbreviated to just the "nomicon") is an online community-reviewed text concerning or related to unsafe code in the Rust programming language.

As stated by the documentation itself:

Topics that are within the scope of this book include: the meaning of (un)safety, unsafe primitives provided by the language and standard library, techniques for creating safe abstractions with those unsafe primitives, subtyping and variance, exception-safety (panic/unwind-safety), working with uninitialized memory, type punning, concurrency, interoperating with other languages (FFI), optimization tricks, how constructs lower to compiler/OS/hardware primitives, how to not make the memory model people angry, how you're going to make the memory model people angry, and more.

Rust by Example[edit | edit source]

Rust by example is a collection of runnable code examples and exercises to help better understand certain language features.

Unofficial Resources[edit | edit source]

Tour of Rust[edit | edit source]

Tour of Rust is a Rust tutorial available in several languages. It includes code examples that can be modified and executed in the browser.

Learn Rust with Entirely Too Many Linked Lists[edit | edit source]

Learn Rust with Entirely Too Many Linked Lists is a book tutorial that implements six linked lists in Rust. It uses unsafe frequently, as linked lists are difficult to implement safely.

Exercism[edit | edit source]

Exercism, a free platform to practice programming skills with exercises and feedback from mentors, has a Rust track with over 90 exercises.

Domain-specific Resources[edit | edit source]

Books by the Working Groups[edit | edit source]

The following books are written by Rust's Working Groups and are available for free online.

Command Line Book[edit | edit source]

The Command Line Book teaches how to write command-line interface (CLI) applications in Rust. It is currently outdated, since it uses deprecated crates.

WebAssembly Book[edit | edit source]

The WebAssembly Book teaches how to write and distribute WebAssembly (WASM) modules in Rust, and how to interoperate with browser APIs.

Embedded Book[edit | edit source]

The Embedded Book teaches how to use Rust on "Bare Metal" embedded systems, such as microcontrollers.

Async Book[edit | edit source]

The Async Book teaches how to develop asynchronous programs in Rust.