Rust
Big picture: the Rust book's concepts, in the order they depend on each other. Ownership is the center. Everything before it is the language you need in order to see what ownership is restricting.
Reading order
- Variables and mutability: bindings,
mut, constants, and shadowing. - Data types: scalars, compounds, and how values are stored.
- Functions: parameters and return values.
- Control flow:
if, loops, and expressions. - Ownership: which binding owns a value, and when it is dropped.
- Structs: grouping related data, and how ownership applies to fields.
- Enums: one value of several shapes, and pattern matching.
- Packages, crates, and modules: how code is split and made visible.
- Error handling:
ResultandOptioninstead of exceptions. - Generics, traits, and lifetimes: one implementation, many types, and how long a reference lives.
- Functional features: closures and iterators.
- Smart pointers:
Box,Rc, andRefCellwhen a plain owner is not enough.