This book will teach you about the Rust Programming Language. Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages aren’t good at embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead while eliminating all data races. Rust also aims to achieve ‘zero-cost abstractions’ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.
“The Rust Programming Language” is split into chapters. This introduction is the first. After this:
- Getting started (chapter 2, page 13) – Set up your computer for Rust development.
• Tutorial: Guessing Game (chapter 3, page 25) – Learn some Rust with a small project.
• Syntax and Semantics (chapter 4, page 43) – Each bit of Rust, broken down into small chunks.
• Effective Rust (chapter 5, page 187) – Higher-level concepts for writing excellent Rust code.
• Nightly Rust (chapter 6, page 297) – Cutting-edge features that aren’t in stable builds yet.
• Glossary (chapter 7, page 325) – A reference of terms used in the book.
• Bibliography (chapter 9, page 333) – Background on Rust’s influences, papers about Rust.