Rust has been the most admired language on Stack Overflow for nine consecutive years, and in 2026 its adoption is accelerating beyond the developer community.
The Linux kernel, Windows kernel, AWS infrastructure, and Cloudflare edge stack now use Rust in production. Government agencies including the NSA and the White House Office of the National Cyber Director have published guidance recommending memory-safe languages like Rust for critical systems. The TIOBE index shows Rust at an all-time high, ranking 12th in June 2026, and the LangPop composite index places it among the fastest-rising systems languages.
For developers, Rust offers something rare: the performance and control of C or C++ without the memory safety headaches. It is a language designed for reliability, speed, and ergonomics, and its ecosystem — Cargo, rustfmt, the Rust Language Server — makes systems programming feel modern.
About the book
The Rust Programming Language is the official guide to Rust, written by Steve Klabnik and Carol Nichols with contributions from the Rust community. Known within the community as “The Book,” it is the definitive introduction to the language and serves as both a tutorial and a reference.
The book assumes you have written code in another programming language but makes no assumptions about which one. It starts with a hands-on project — a number guessing game — to introduce the feel of Rust, then systematically covers ownership, the type system, error handling, concurrency, and more.
Each concept chapter builds on the previous one, and three project chapters let you apply what you have learned: a command-line search tool, a multithreaded web server, and several smaller programs along the way.
This edition corresponds to Rust 1.65 and later, covering the language as it ships on the stable channel. Appendices include a keyword reference, operator guide, derivable traits, development tools, edition guide, and an explanation of how Rust is developed.
What you will learn
Rust ownership model, borrowing, and lifetimes — the system that guarantees memory safety without a garbage collector. Pattern matching, enums, and the match and if let control flow constructs. Generics, traits, and trait objects for writing reusable, type-safe code. Error handling with Result and Option. Closures, iterators, and functional programming patterns. Smart pointers including Box, Rc, and RefCell. Fearless concurrency with threads, Send, and Sync. Unsafe Rust, macros, and advanced type system features. How to use Cargo for dependency management, testing, documentation, and publishing crates. Building a complete multithreaded HTTP server from scratch.
Table of contents
- 1. Getting Started
- 2. Programming a Guessing Game
- 3. Common Programming Concepts
- 4. Understanding Ownership
- 5. Using Structs to Structure Related Data
- 6. Enums and Pattern Matching
- 7. Managing Growing Projects with Packages, Crates, and Modules
- 8. Common Collections
- 9. Error Handling
- 10. Generic Types, Traits, and Lifetimes
- 11. Testing
- 12. An I/O Project: Building a Command Line Program
- 13. Functional Language Features: Iterators and Closures
- 14. More about Cargo and Crates.io
- 15. Smart Pointers
- 16. Fearless Concurrency
- 17. Object-Oriented Programming Features of Rust
- 18. Patterns and Matching
- 19. Advanced Features
- 20. Final Project: Building a Multithreaded Web Server
- Appendix A: Keywords
- Appendix B: Operators and Symbols
- Appendix C: Derivable Traits
- Appendix D: Useful Development Tools
- Appendix E: Editions
- Appendix F: Translations of the Book
- Appendix G: How Rust is Made and Nightly Rust
Book details
- Title: The Rust Programming Language
- Author(s): Steve Klabnik, Carol Nichols
- Publisher: No Starch Press (open source edition)
- Pages: 670
- PDF size: 3.66 MB
- Estimated reading time: ~16 h 45 min
- Level: Intermediate
- Main category: Programming
- Subcategory: Rust
- Language: English
- License: Apache 2.0 and MIT (dual-licensed)
More books in: Programming, Rust
Legal notice: This book is shared for educational purposes only. The content is distributed under Creative Commons licenses or with explicit permission from the author. FreeProgrammingBooks may host files that comply with their respective licenses.