The Rust Programming Language
A comprehensive introductory guide to Rust, covering systems programming concepts, memory safety, concurrency, and the Rust toolchain (Cargo, rustup). It transitions from basic syntax to building full projects like a multithreaded web server.
Course Overview
Content Summary
A comprehensive introductory guide to Rust, covering systems programming concepts, memory safety, concurrency, and the Rust toolchain (Cargo, rustup). It transitions from basic syntax to building full projects like a multithreaded web server.
Master the art of safe, fast, and concurrent systems programming with the definitive guide to Rust.
Author: Steve Klabnik and Carol Nichols, with contributions from the Rust Community
Acknowledgments: Contributions from the Rust Community; published in paperback and ebook format from No Starch Press.
Learning Objectives
- Successfully install and manage Rust toolchains using
rustupacross different operating systems. - Write, compile, and execute a basic Rust program, identifying the core anatomical components of the code.
- Use Cargo to create standardized project structures, manage builds, and produce optimized binaries for release.
- Capture and store user input while managing variable mutability and potential I/O failures.
- Integrate external dependencies using Cargo and manage reproducible builds via
Cargo.lock. - Implement game logic using type inference, string parsing, loops, and the
matchcontrol flow operator. - Differentiate between constants and variable shadowing to manage data immutability and scope.
- Correctly implement scalar (integer, float, boolean, char) and compound (tuple, array) data types.
- Distinguish between statements and expressions to define functions with specific return values.
- Distinguish between stack and heap memory and explain how Rust manages heap data.