A handy design pattern stolen from Objective-C and Swift for designing nicely usable APIs.
Tradeoffs, or: Speed and stability are for everyone
Deinitialization: ownership semantics and automatic reference counting
Initialization: another area where Swift has a lot more going on than Rust.
Inheritance: a Swiftian specialty (for now).
Indexing and subscripts, or: traits vs. keywords again.
Methods, instance and otherwise.
Properties: type and instance, stored and computed.
Hopes for the next generation of systems programming.
Classes and structs (product types), and reference and value types.
Sum types (
enums) and more on pattern matching
Functions, closures, and an awful lot of Swift syntax.
Pattern matching and the value of expression blocks.
Collection types and the difference between syntax and semantics.
The value (and challenge) of learning languages in parallel.
Language design trade-offs, highlighted by string manipulation.
Operators, including overloading, and thoughts on brevity.
Basic types and the syntax around them.
Thoughts after reading the introduction to the Swift book.