Skip to main content
  • Hoopla logo
  • Browse
  • My Hoopla
  • Log In
Books, videos, and music - all free from your public library!
LoginSign Up

Footer

Hoopla logo, Go to homepage
  • For Patrons
  • For Libraries (opens in new window)
  • For Vendors (opens in new window)
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)

Our Company

  • Our Story
  • Get Hoopla for your Library (opens in new window)
  • Get your content on hoopla (opens in new window)
  • Join our team (opens in new window)
  • Accessibility Statement

Our Content

  • Audiobooks
  • Ebooks
  • Movies
  • Television
  • Comics
  • BingePasses
  • Music
  • The Loop Blog

Help

  • Help Center
  • Submit Feedback
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)
  • Download on the App Store (opens in new window)
  • Get it on Google Play (opens in new window)
  • Available at Amazon Appstore (opens in new window)
© 2026 Midwest Tape, LLC. All rights reserved. Privacy Policy | Terms of Use
  1. Navigate Home
  2. Ebooks
  3. Grokking Simplicity

EBOOK

Grokking Simplicity

Taming complex software with functional thinking

Eric Normand
(0)
sign up
Pages
592
Year
2021
Language
English
Publisher
Manning

About

Grokking Simplicity is a friendly, practical guide that will change the way you approach software design and development.

Distributed across servers, difficult to test, and resistant to modification-modern software is complex. Grokking Simplicity is a friendly, practical guide that will change the way you approach software design and development. It introduces a unique approach to functional programming that explains why certain features of software are prone to complexity, and teaches you the functional techniques you can use to simplify these systems so that they're easier to test and debug.

About the technology

Developers rightly fear the unintended complexity that infects most code. This book shows you how to write software that keeps complexity close to its inherent minimum. As you write software, you should distinguish between code that alters your system's state, and code that does not. Once you learn to make that distinction, you can refactor much of your state-altering "actions" into stateless "calculations." Your software will be simpler.

What's inside
Patterns for simpler code
Powerful time modeling approaches to simplify asynchronous code
How higher-order functions can make code reusable and composable

Table of Contents
1 Welcome to Grokking Simplicity
2 Functional thinking in action
PART 1 -ACTIONS, CALCULATIONS, AND DATA
3 Distinguishing actions, calculations, and data
4 Extracting calculations from actions
5 Improving the design of actions
6 Staying immutable in a mutable language
7 Staying immutable with untrusted code
8 Stratified design, part 1
9 Stratified design, part 2
PART 2 -FIRST-CLASS ABSTRACTIONS
10 First-class functions, part 1
11 First-class functions, part 2
12 Functional iteration
13 Chaining functional tools
14 Functional tools for nested data
15 Isolating timelines
16 Sharing resources between timelines
17 Coordinating timelines
18 Reactive and onion architectures
19 The functional journey ahead

Related Subjects

  • General (Programming)
  • Programming
  • Computers
  • Adult Nonfiction
  • JavaScript
  • Languages
  • General (Software Development & Engineering)
  • Software Development & Engineering

Artists

Eric NormandAuthor