1. Philosophy (why it exists)
- Problem it solves + trade-offs
- What it optimizes for (performance, safety, simplicity, DX)
- What it discourages
Q: When should I NOT use this language?
2. Semantics (how it behaves — core reality)
- Types → static/dynamic, generics, special features
- Memory → GC / ownership / manual, allocation model
- Concurrency → threads, async, message passing
- Execution → compiled/interpreted, runtime behavior
3. Syntax (how you write it — surface layer)
- Basic structure (variables, functions, control flow)
- Data structures (arrays, maps, structs, enums)
- Modules / packages
- Error handling
4. Best Practices (how experts use it)
- Patterns & best practices
- How experts structure code
- Performance-aware habits
- Common pitfalls