---
title: Rust
description: Rust is a systems programming language that guarantees memory safety without a garbage collector. You will learn ownership, borrowing, lifetimes, traits and cargo, and build fast, reliable command-line and systems software.
category: programming-tech
subcategory: programming-languages
difficulty: beginner, intermediate, advanced
url: /subject/rust
---

# Rust

Rust is a systems programming language that guarantees memory safety without a garbage collector. You will learn ownership, borrowing, lifetimes, traits and cargo, and build fast, reliable command-line and systems software.

## Available Resources

3 Books • 1 Courses • 2 Websites

## Websites

### 1. The Rustonomicon

The Source Truth for unsafe code: official documentation for unsafe Rust: what safety means, subtyping and variance, uninitialized memory, exception safety, FFI, and the aliasing rules. After it you can wrap unsafe primitives in sound safe abstractions.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://doc.rust-lang.org/nomicon/

**Tags:** rust, unsafe-rust, memory-safety, ffi, systems-programming

### 2. Rustlings

An official rust-lang exercise set installed via cargo. Each small program fails to compile until you fix it, so you practice reading compiler errors and applying ownership, traits and error-handling rules yourself.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://rustlings.rust-lang.org/

**Tags:** rust, exercises, ownership, traits, compiler-errors

## Youtubes

### 1. Crust of Rust

**Author:** Jon Gjengset

The best video-format Rust material that exists, and one of the few that is structural. Long-form live sessions reimplementing standard-library machinery from scratch: lifetimes, iterators, smart pointers, channels, atomics, subtyping, dispatch. Watching the compiler push back in real time teaches why the API shapes are what they are.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://www.youtube.com/playlist?list=PLqbS7AVVErFiWDOAVrPt7aYmnuuOLYvOa

**Tags:** rust, lifetimes, smart-pointers, concurrency, standard-library

## Books

### 1. Rust Atomics and Locks: Low-Level Concurrency in Practice

**Author:** Mara Bos

Written by the person who maintains the code it explains. It is the field's bible for Rust concurrency and, unusually for an O'Reilly title, is legally free in full at the author's site. Works up from atomics and memory ordering to building Mutex, RwLock and condition variables on raw OS futex primitives, so you can reason about lock-free code and implement your own.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://mara.nl/atomics/

**Tags:** rust, concurrency, atomics, locks, systems-programming

### 2. Rust for Rustaceans: Idiomatic Programming for Experienced Developers

**Author:** Jon Gjengset

Picks up where the Book stops: variance, trait coherence and object safety, declarative and procedural macros, unsafe abstractions, FFI, testing, and crate design. After it you can build and maintain a published library.

**Difficulty:** Advanced | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/1718501854?tag=edmonddante07-20

**Tags:** rust, traits, macros, unsafe-rust, library-design

### 3. The Rust Programming Language ("the Book")

**Author:** Steve Klabnik, Carol Nichols, Chris Krycho

The Source Truth for the language: the official Rust book, free online and in print. Covers ownership, borrowing, lifetimes, traits, cargo, error handling, concurrency and async, ending with a multithreaded web server you build yourself.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://doc.rust-lang.org/book/

**Tags:** rust, ownership, borrowing, lifetimes, cargo

## Courses

### 1. Comprehensive Rust

**Author:** Google Android team

Practitioners with real skin in the game shipping Rust into Android. A four-day course Google's Android team uses to retrain experienced engineers, with optional tracks on concurrency, bare-metal and Chromium. Assumes you already program; moves fast through syntax to idiomatic ownership and error handling.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://google.github.io/comprehensive-rust/

**Tags:** rust, ownership, error-handling, concurrency, bare-metal

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/rust