| Language | Description |
|---|---|
| Python | High-level, dynamically typed; emphasizes readability and a large standard library. Dominant in data science and scripting. |
| JavaScript | Event-driven, prototype-based language of the web; runs in every browser and on servers via Node.js. |
| Java | Statically typed, class-based; JVM platform gives write-once-run-anywhere portability across enterprise systems. |
| C# | Statically typed, multi-paradigm .NET language; strong generics, LINQ, async/await, and record types. |
| C++ | Systems language with zero-cost abstractions, templates, RAII, and manual memory control; used in performance-critical software. |
| Rust | Systems language with ownership-based memory safety and zero-cost abstractions; no garbage collector, no data races by construction. |
| Go | Statically typed, compiled language from Google; simple concurrency via goroutines and channels, fast compile times. |
| Kotlin | JVM language interoperable with Java; null safety, coroutines, and concise syntax. Primary language for Android development. |
| Swift | Statically typed, compiled language from Apple; value types, optionals, and protocol-oriented design for iOS/macOS development. |
| C | Low-level procedural language; direct memory and hardware access. Foundation of operating systems, embedded systems, and systems software. |
| Chapter | Topics |
|---|---|
| 0 – Prologue | Motivation, layout, and references for the Code Story. |
| 1 – Data | Primitive types, composite types, string types, and type aliases. |
| 2 – Variables & Binding | Declaration, mutability, scope, lifetime, shadowing, constants, and statics. |
| 3 – Operators | Arithmetic, comparison, logical, bitwise, assignment, and operator overloading. |
| 4 – Control Flow | if/else, match/switch, loops, break and continue, and pattern matching. |
| 5 – Functions | Declaration, parameters, return types, overloading, recursion, and higher-order functions. |
| 6 – Lambdas & Closures | Anonymous functions, environment capture, closure types, and function pointers. |
| 7 – Error Handling | Exceptions, Result/Option types, panic and abort, and error propagation. |
| 8 – Memory Management | Stack vs heap, ownership and borrowing, garbage collection, reference counting, and manual management. |
| 9 – Modules & Namespaces | Module declaration, visibility, imports, packages, and crates. |
| 10 – Concurrency | Threads, synchronization primitives, channels, async/await, and atomic operations. |
| 11 – Generics & Polymorphism | Generic types and functions, traits and interfaces, trait bounds, dynamic vs static dispatch, and variance. |
| 12 – Metaprogramming | Macros, reflection, code generation, attributes and decorators, and compile-time computation. |
| 13 – Projects | Ten imperative programming projects, each instructive and producing a useful program or library. |
| Reference | Description |
|---|---|
| The Rust Programming Language | Comprehensive coverage of ownership, types, traits, and concurrency in Rust. |
| cppreference.com | Authoritative C++ language and standard library reference. |
| C# Language Reference | Complete reference for C# language features and syntax. |
| Python Language Reference | Formal reference for Python syntax and core semantics. |
| ECMAScript Specification | The authoritative specification for JavaScript language semantics. |