Rust

Systems programming language that guarantees memory safety without a garbage collector. The ownership system prevents data races, dangling pointers, and double frees at compile time. Zero-cost abstractions mean you pay no runtime penalty for high-level patterns.

Overview

  • Language: Compiled systems language with ownership-based memory management
  • Install: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Build tool: Cargo (package manager, build system, test runner, doc generator)
  • Build: cargo build (debug) / cargo build --release (optimized)
  • Run: cargo run
  • Test: cargo test
  • Use cases: CLI tools, web services, WebAssembly, embedded systems, game engines, OS components
  • Edition: Rust 2024 (latest), backwards-compatible with older editions

Contents

  • Concepts - Core language ideas
    • Ownership - Ownership, borrowing, and move semantics
    • Traits - Interfaces, trait bounds, and common standard traits
    • Error Handling - Result, Option, the ? operator, and error strategies
  • Quickstart - Get building
    • Setup - Install Rust, create a project, configure your editor
    • CLI Tool - Build a file search tool with clap and anyhow
  • Deep Dives - Advanced topics
    • Async Rust - Futures, Tokio, async/await patterns
    • Pattern Matching - Match expressions, destructuring, state machines
    • Lifetimes - Reference validity, elision rules, named lifetimes
    • Ecosystem - Libraries and frameworks for web, CLI, databases, and more
  • Notes - Practical tips
    • Gotchas - Common pitfalls and how to avoid them

Resources