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

  1. Code Categories
  2. Hidden Dependencies
  3. Better Actions
  4. Core Framework

Immutability Mastery

  1. Immutability
  2. Copy-on-Write
  3. Defensive Copying
  4. Immutability Mastery

Stratified Design

  1. Layered Architecture
  2. Layer Patterns
  3. Stratified Design

First-Class Functions

  1. First-Class Functions
  2. Higher-Order Functions
  3. First-Class Functions

Functional Data Transformation

  1. Map-Filter-Reduce
  2. Transformation Pipelines
  3. Nested Data
  4. Functional Data Transformation

Timeline Management

  1. Timeline Diagrams
  2. Timeline Isolation
  3. Queue Coordination
  4. Timeline Management

Architectural Patterns

  1. Reactive Architecture
  2. Onion Architecture
  3. Architectural Patterns

Advanced Patterns

  1. Code as Data
  2. Replace Body Pattern
  3. Advanced Patterns

Functional Mindset

  1. Design Philosophy
  2. Functional Mindset
  3. Functional Mindset

Start learning with Wondering