Books
The following includes books and other long-form writings about Rust.
Lists of Books
- Little Book of Rust Books↗.
- Awesome Rust Books↗ (fork)↗.
- LearnRust↗: A "list of resources to learn Rust - Roadmap from beginner to advanced level". Includes a book section.
rust-learning
↗: A bunch of links to books, blog posts, articles, videos, etc. for learning Rust.
Essential and Official Books
The books found on rust-lang.org
↗ and friends are listed below:
- "The Book": The Rust Programming Language↗.
- The Rust Programming Language↗: An experimental version of the Rust Book enhanced with interactive quizzes, highlighting, and visualizations.
- The Rust Programming Language↗, 2nd Edition, by Steve Klabnik, Carol Nichols 978-1718503106↗: The official Rust Book, in paper format.
- Rust by Example↗: A collection of runnable examples that illustrate various Rust concepts and standard libraries.
- The Rust Cookbook (old)↗.
- The Rust Cookbook (fork)↗.
- The Rust Standard Library↗: Comprehensive guide to the Rust standard library APIs.
- The Rust Reference↗: The primary reference for the Rust programming language.
- The Rustonomicon↗ (nightly version)↗.
Other Official Reference and Documentation
- The Rust Edition Guide↗. Editions are Rust's way of introducing changes into the language that would not otherwise be backwards compatible.
- Rust Error Codes Index↗.
- The Rust Unstable Book↗.
- The Rust RFC Book↗.
- Rust Forge↗ serves as a repository of supplementary documentation useful for contributors to the Rust programming language repos.
Free eBooks
- Comprehensive Rust↗: Free Rust course developed by the Android team at Google.
- Easy Rust↗ (alternate)↗.
- Effective Rust↗.
- Fast Track to Rust↗.
- A Gentle Introduction to Rust↗.
- Learn Rust by Writing Entirely Too Many Linked Lists↗.
- Rust-101↗.
- Rust by Practice↗.
- Rust Development Classes↗.
- Rust for C Programmers↗. Despite the title, the book doesn't require prior experience with the C language. The name is mainly meant to indicate that the book is not aimed at complete beginners who have never written code or lack any basic understanding of systems programming.
- Rust Project Primer↗.
- Rust Quest↗.
Rust Books, General
- Advanced Hands-on Rust↗: Level up Your Coding Skills, 1st Edition, by Herbert Wolverson (currently in beta). 979-8888650721↗.
- Beginning Rust↗: Get Started with Rust 2021 Edition, by Carlo Milanesi. 978-1484272077↗.
- Creative Projects for Rust Programmers↗: Build exciting projects on domains such as web apps, WebAssembly, games, and parsing, by Carlo Milanesi. 978-1789346220↗.
- Code Like a Pro in Rust↗ by Brenden Matthews. 978-1638354543↗.
- The Complete Rust Programming Reference Guide↗: Design, develop, and deploy effective software systems using the advanced constructs of Rust, by Rahul Sharma, Vesa Kaihlavirta, Claus Matzinger. 978-1838828103↗.
- Effective Rust↗: 35 Specific Ways to Improve Your Rust Code, by David Drysdale. (O'Reilly)↗ 978-1098151409↗ (online version)↗.
- Fullstack Rust↗ by Andy Weiss (Newline↗ or Kindle).
- Hands-on Rust↗: Effective Learning Through 2D Game Development and Play, by Herbert Wolverson. 978-1680508161↗.
- Idiomatic Rust↗: Code like a Rustacean, by Brenden Matthews 9781633437463↗.
- Learn Rust in a Month of Lunches↗ by David MacLeod (Manning)↗ 978-1633438231↗.
- Programming Rust↗: Fast, Safe Systems Development, by Jim Blandy, Jason Orendorff (O'Reilly)↗. 9781491927281↗.
- Programming Rust↗: Fast, Safe Systems Development, by Jim Blandy, Leonora Tindall. 978-1492052593↗.
- Refactoring to Rust↗ by Lily Mara, Joel Holmes. 9781617299018↗.
- Rust Brain Teasers: Exercise Your Mind, 1st Edition, by Herbert Wolverson. 978-1680509557↗.
- Rust Crash Course↗: Build High-Performance, Efficient and Productive Software with the Power of Next-Generation Programming Skills, by Abhishek Kumar. 978-9355510952↗.
- Rust Essentials↗ 2nd ed. 978-1788390019↗.
- Rust for Rustaceans↗: Idiomatic Programming for Experienced Developers, by Jon Gjengset. 978-1718501850↗.
- Rust from the Ground Up↗.
It teaches Rust by implementing a classic Unix CLI utility in each chapter (
cat
,head
,wc
...). - Rust in Action↗: Systems Programming Concepts and Techniques, by Tim McNamara. 978-1617294556↗.
- Rust Programming by Example↗: Enter the world of Rust by building engaging, concurrent, reactive, and robust applications, by Guillaume Gomez, Antoni Boucher (Packt). 978-1788390637↗.
- The Rust Programming Language↗, 2nd Edition, by Steve Klabnik and Carol Nichols. 978-1718503106↗.
- Rust Under the Hood↗: A deep dive into Rust internals and generated assembly, by Sandeep Ahluwalia, Deepa Ahluwalia. 979-8320364469↗.
- The Secrets of Rust: Tools↗.
- Step Ahead with Rust↗: Systems Programming in Rust, by Jonathan Creekmore, James Miller (Kindle).
- Zero to Production in Rust↗: An Introduction to Backend Development, by Luca Palmieri. 979-8847211437↗: "An opinionated introduction to backend development in Rust". (website and sample)↗ (blog)↗ (code for the book)↗.
Rust Books, by Topic
APIs and Microservices
- Hands-On Microservices with Rust↗: Build, test, and deploy scalable and reactive microservices with Rust 2018, by Denis Kolodin. 978-1789341980↗.
- Rust API Guidelines↗: A set of recommendations on how to design and present APIs for the Rust programming language, authored largely by the Rust library team.
rust-api.dev
↗.
Async
- Async Rust↗: Unleashing the Power of Fearless Concurrency, 1st Edition, by Maxwell Flitton, Caroline Morton. 978-1098149055↗.
- Asynchronous Programming in Rust↗.
Command Line Interfaces
- Command-line Apps in Rust↗.
- Command-Line Rust↗: A Project-Based Primer for Writing Rust CLIs, by Ken Youens-Clark (O'Reilly)↗. 978-1098109431↗.
Compiler and Tools
- The Cargo Book↗. Cargo is the Rust package manager.
- Configuring
rustfmt
↗. - Clippy Documentation↗.
- mdBook Documentation↗.
- The
rustc
Book↗. - The
rustdoc
Book↗. - The Rust Compiler Development Guide↗.
Concurrency and Parallelism
- Rust Atomics and Locks↗: A deep dive into atomics and locks by Mara Bos. 9781098119447↗.
- Rust Concurrency↗: Master the art of building safe, scalable, and effective software, by Brian Troutwine. 978-1788399975↗.
Data Analysis
Design Patterns
Embedded Systems
- The Embedded Rust Book↗.
- The Discovery Book↗: Introduction to microcontrollers and how to use Rust with them.
- The Rust on ESP Book↗ for Espressif devices.
- The Embedonomicon↗.
See also the Awesome Embedded Rust↗, a curated list of resources for embedded and low-level development.
Error Handling
Foreign Function Interfaces (FFI)
- The
bindgen
User Guide↗. - The Rust FFI Omnibus↗.
Functional Programming
- Hands-On Functional Programming in Rust↗: Create modular, reusable, and testable applications, by Andrew Johnson. 978-1788839358↗.
Idioms
Interpreters
Machine Learning
- Practical Machine Learning with Rust↗: Creating Intelligent Applications in Rust. 978-1484251201↗.
Macros
- The Little Book of Rust Macros↗.
- Write Powerful Rust Macros↗ by Sam Van Overmeire. 9781633437494↗.
Network Programming
- Network Programming with Rust↗ by Abhishek Chanda. 9781788624893↗.
Performance
- Rust High Performance↗ by Iban Eguia Moraza. 978-1788399487↗.
- The Rust Performance Book↗.
Random Numbers
- The Rust Rand Book↗.
Security
- Black Hat Rust↗: Applied offensive security with the Rust programming language, by Sylvain Kerkour.
- The Copenhagen Book↗: General guideline on implementing auth in web applications. Not Rust-specific.
- High Assurance Rust↗: Developing Secure and Robust Software.
Standard Library
- The Rust Standard Library↗: The official, comprehensive guide to the Rust standard library APIs.
- Rust Standard Library Cookbook↗: Over 75 recipes to leverage the power of Rust. 978-1788629652↗.
Unsafe Code
Web Programming
Rust Web Development with warp
, tokio
, and reqwest
↗ by Bastian Gruber. 9781617299001↗.
Webassembly (WASM)
- Rust and Webassembly↗.This small book describes how to use Rust and WebAssembly together.
- Programming WebAssembly with Rust↗: Unified Development for Web, Mobile, and Embedded Applications, 1st Edition, by Kevin Hoffman. 978-1680506365↗.
For convenience, this page includes a number of links to the websites of publishers and book merchants. It is not an endorsement of these particular retailers or publishers. Click on the ISBN number link to gain access to a Wikipedia page with links to a variety of catalogs, ebook databases, and book sellers to choose from.
Related Topics
- Blogs.
- Example Code and Templates.