Build stable, production-grade systems with Rust.
The Rust Programming Language, 3rd Edition, teaches you to write code that the compiler can verify, teams can maintain, and systems can evolve safely over time. Written by longtime Rust community members, this book shows you how to work effectively with Rust’s type system, concurrency model, and tooling, using patterns and idioms chosen for long-term stability.
Learn how to:
- Design programs that communicate their invariants to the compiler
- Use ownership, lifetimes, and traits to model real-world constraints
- Write concurrent and multithreaded code with confidence and clarity
- Build, test, document, and refactor projects using Cargo effectively
- Handle errors explicitly and idiomatically
- Apply expressive pattern matching to simplify complex logic
Three substantial project chapters—focusing on a number-guessing game, a command-line tool, and a multithreaded server—demonstrate how these concepts work together in complete, real programs.
Whether you’re new to Rust or already using it in production, this book helps you write code that scales safely and makes its guarantees explicit.
New to this edition:
- Complete async programming chapter
- Miri for analyzing unsafe code
- Built on the Rust 2024 Edition
- Modern Rust idioms, tooling, and practices
Inhaltsverzeichnis
Foreword
Preface
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: 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: Fundamentals of Asynchronous Programming
Chapter 18: Object-Oriented Programming Features
Chapter 19: Patterns and Matching
Chapter 20: Advanced Features
Chapter 21: 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
Index