Grokking Simplicity
Eric Normand introduces functional programming for industrial use through a revolutionary framework classifying code into Actions (depend on when/how often called), Calculations (pure functions), and Data (raw information). The book covers stratified design, timeline diagrams for managing asynchronous systems, and practical techniques for taming complex software. No prior functional programming experience is required, making it accessible to programmers of any level seeking to simplify their codebase.
9 sections ยท 22 lessons
Course outline
Core Framework
- Code Categories
- Hidden Dependencies
- Better Actions
- Core Framework
Immutability Mastery
- Immutability
- Copy-on-Write
- Defensive Copying
- Immutability Mastery
Stratified Design
- Layered Architecture
- Layer Patterns
- Stratified Design
First-Class Functions
- First-Class Functions
- Higher-Order Functions
- First-Class Functions
Functional Data Transformation
- Map-Filter-Reduce
- Transformation Pipelines
- Nested Data
- Functional Data Transformation
Timeline Management
- Timeline Diagrams
- Timeline Isolation
- Queue Coordination
- Timeline Management
Architectural Patterns
- Reactive Architecture
- Onion Architecture
- Architectural Patterns
Advanced Patterns
- Code as Data
- Replace Body Pattern
- Advanced Patterns
Functional Mindset
- Design Philosophy
- Functional Mindset
- Functional Mindset