The Rust Programming Language
Steve Klabnik, Carol Nichols
The Rust Programming Language is the official book on Rust; a community-developed, systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust’s memory safety guarantees, enforced at compile time, safeguard your programs against the many problems that pervade other systems languages. Rust offers the control and performance of a low-level language with the helpful abstractions of a high level one, and does this all without having a garbage collector. These characteristics make Rust useful for embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems.
The Rust Programming Language begins with a quick hands-on project to introduce the basics, then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Detailed explanations of Rust-oriented takes on topics like pattern matching, iterators, and smart pointers combine with examples and exercises to take you from theory to practice.
In addition to its thorough coverage of more granular topics, The Rust Programming Language will show you how to:
-Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes
-Use Cargo, Rust’s built-in package manager, to build your code, including downloading and building dependencies
-Effectively use Rust’s zero-cost abstractions and learn to build your own
Developed with help from the community, The Rust Programming Language is your official guide to becoming a productive Rust programmer.
Steve Klabnik works at Mozilla, is on the core team of Rust, and leads the documentation team. Klabnik is a frequent speaker at conferences and is a prolific open source contributor, previously working on projects such as Ruby and Ruby on Rails.
Carol Nichols is a member of the Rust Tools and Community Teams. She’s a co-founder of Integer 32, LLC, the world’s first Rust-focused software consultancy. She also organizes the Rust Belt Rust Conference.
Chapter 1: Getting Started
Chapter 2: Guessing Game
Chapter 3: Common Programming Concepts
Chapter 4: Understanding Ownership
Chapter 5: Structs
Chapter 6: Enums and Pattern Matching
Chapter 7: Modules
Chapter 8: Common Collections
Chapter 9: Error Handling
Chapter 10: Generic Types, Traits, and Lifetimes
Chapter 11: Testing
Chapter 12: An Input/Output Project
Chapter 13: Iterators and Closures
Chapter 14: More About Cargo and Crates.io
Chapter 15: Smart Pointers
Chapter 16: Concurrency
Chapter 17: Is Rust Object Oriented?
Chapter 18: Patterns
Chapter 19: More About Lifetimes
Chapter 20: Advanced Type System Features