The Rust Programming Language: Covers Rust 2018

  • 9h 53m
  • Carol Nichols, Steve Klabnik
  • No Starch Press
  • 2019

The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.

The Rust Programming Language is the official, definitive guide to Rust, a hugely popular, community-supported programming language. This is the second edition of the improved version of the free online Rust book, so well-loved in the Rust community that it is simply referred to as "the Book".

Programmers love Rust because it allows them to write powerful code efficiently, without the risk of crashes and errors common in languages like C and C++. This book will show readers how to use Rust's robust type system to keep programs memory-safe and speedy, and make the most of the Cargo package manager that brings the pieces of a program together. The reader will learn all about Rust's ownership rules, which lie at the heart of Rust's reliability and crash-resistant compiling.

The Rust Programming Language covers everything from basic concepts like variable bindings, control flow, functions, and error handling, to more advanced topics, such as crates, generics, concurrency, and the nitty gritty of Rust's type system. With improved organization, hands-on features, and a more tutorial-oriented style, this version offers a vast improvement over the original.

The second edition also provides an entirely new chapter on macros and an expanded chapter on crates, two key aspects of Rust that make it so popular. Readers will also find extra appendices on Rust development tools and Rust versions.

About the Authors

Steve Klabnik is the Community Team Leader for the Rust team at Mozilla, in charge of official Rust community documentation as well as the key Rust community advocate. Klabnik is a frequent speaker at conferences and one of the world's most prolific contributors to Rails projects.

Carol Nichols is a member of the Rust Community Team. She's been active in the Rust community and is an organizer of the Rust Belt Rust Conference.

In this Book

  • Foreword
  • Introduction
  • Getting Started
  • Programming a Guessing Game
  • Common Programming Concepts
  • Understanding Ownership
  • Using Structs to Structure Related Data
  • Enums and Pattern Matching
  • Managing Growing Projects with Packages, Crates, and Modules
  • Common Collections
  • Error Handling
  • Generic Types, Traits, and Lifetimes
  • Writing Automated Tests
  • An I/O Project—Building a Command Line Program
  • Functional Language Features—Iterators and Closures
  • More about Cargo and
  • Smart Pointers
  • Fearless Concurrency
  • Object-Oriented Programming Features of Rust
  • Patterns and Matching
  • Advanced Features
  • Final Project—Building a Multithreaded Web Server