The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.
The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018.
The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages.
The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as:
• Ownership and borrowing, lifetimes, and traits
• Using Rust's memory safety guarantees to build fast, safe programs
• Testing, error handling, and effective refactoring
• Generics, smart pointers, multithreading, trait objects, and advanced pattern matching
• Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies
• How best to use Rust's advanced compiler with compiler-led programming techniques
You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server.
New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.
"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