The Rust Programming Language
- 9h 48m
- Carol Nichols, Steve Klabnik
- No Starch Press
- 2018
The Rust Programming Language is the official book on Rust, an open-source, community-developed systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.
Known by the Rust community as “The Book,” The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.
The Book opens 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. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.
The Rust Programming Language will also 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 and maintain your code, including downloading and building dependencies
- Effectively use Rust’s zero-cost abstractions and employ your own
You’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.
You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.
The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.
About the Authors
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.
In this Book
-
Getting Started
-
Programming a Guessing Game
-
Common Programming Concepts
-
Understanding Ownership
-
Using Structs to Structure Related Data
-
Enums and Pattern Matching
-
Using Modules to Reuse and Organize Code
-
Common Collections
-
Error Handling
-
Generic Types, Traits, and Lifetimes
-
Writing Automated Tests
-
An I/O Project: Building a Command Line Program
-
Functional Language Features: Iterators and Closures
-
More about Cargo and Crates.Io
-
Smart Pointers
-
Fearless Concurrency
-
Object-Oriented Programming Features of Rust
-
Patterns and Matching
-
Advanced Features
-
Final Project: Building a Multithreaded Web Server