
The Rust Programming Language
(Covers Rust 2018)
No Starch Press
Published on 12. August 2019
Book
Paperback/Softback
560 pages
978-1-7185-0044-0 (ISBN)
Article exhausted; check for reprint
Description
Rust is a hugely popular, community-supported free programming language, and 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. It 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. The second edition provides expanded chapters and extra appendices.
Reviews / Votes
"Covers everything you could want to know about the language."-Stack Overflow
"The book . . . provides information on how developers can get started with Rust."
-Tiera Oliver, EMBEDDED COMPUTING DESIGN
"I'd learned @rustlang back in late-2019 and referred [to The Rust Programming Language]. It's written very well, and is still relevant if you want to refer to."
-Trivikram, @trivikram
"A thing of beauty in a world full of dry arcane texts."
-Garrett Mace, @macegr
"My main learning resource."
-Pawel Grzybek, @pawelgrzybek, Software Engineer
More details
Language
English
Place of publication
San Francisco
United States
Dimensions
Height: 235 mm
Width: 179 mm
ISBN-13
978-1-7185-0044-0 (9781718500440)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Carol Nichols | Chris Krycho | Steve Klabnik
The Rust Programming Language, 3rd Edition
Book
03/2026
No Starch Press
€56.00
Available immediately

Book
02/2023
2nd Edition
No Starch Press
€47.00
Available immediately
Persons
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.
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.
Content
Foreword
Acknowledgments
Introduction
Chapter 1: Getting Started
Chapter 2: Programming a Guessing Game
Chapter 3: Common Programming Concepts
Chapter 4: Understanding Ownership
Chapter 5: Using Structs to Structure Related Data
Chapter 6: Enums and Pattern Matching
Chapter 7: Managing Growing Projects with Packages, Crates, and Modules
Chapter 8: Common Collections
Chapter 9: Error Handling
Chapter 10: Generic Types, Traits, and Lifetimes
Chapter 11: Writing Automated Tests
Chapter 12: An I/O Project: Building a Command Line Program
Chapter 13: Functional Language Features: Iterators and Closures
Chapter 14: More About Cargo and Crates.io
Chapter 15: Smart Pointers
Chapter 16: Fearless Concurrency
Chapter 17: Object-Oriented Programming Features of Rust
Chapter 18: Patterns and Matching
Chapter 19: Advanced Features
Chapter 20: Final Project: Building a Multithreaded Web Server
Acknowledgments
Introduction
Chapter 1: Getting Started
Chapter 2: Programming a Guessing Game
Chapter 3: Common Programming Concepts
Chapter 4: Understanding Ownership
Chapter 5: Using Structs to Structure Related Data
Chapter 6: Enums and Pattern Matching
Chapter 7: Managing Growing Projects with Packages, Crates, and Modules
Chapter 8: Common Collections
Chapter 9: Error Handling
Chapter 10: Generic Types, Traits, and Lifetimes
Chapter 11: Writing Automated Tests
Chapter 12: An I/O Project: Building a Command Line Program
Chapter 13: Functional Language Features: Iterators and Closures
Chapter 14: More About Cargo and Crates.io
Chapter 15: Smart Pointers
Chapter 16: Fearless Concurrency
Chapter 17: Object-Oriented Programming Features of Rust
Chapter 18: Patterns and Matching
Chapter 19: Advanced Features
Chapter 20: Final Project: Building a Multithreaded Web Server