Shop Let Loose
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows.
$44.53 with 11 percent savings
List Price: $49.99 Image
FREE delivery Thursday, January 29. Order within 11 hrs 53 mins
Only 9 left in stock - order soon.
$$44.53 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$44.53
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Shipper / Seller
Amazon.com
Amazon.com
Shipper / Seller
Amazon.com
Returns
FREE 30-day refund/replacement
FREE 30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Read full return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

First Chapter SummaryManning Publications-Veiled Access
  • VIDEO

Follow the author

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Grokking Simplicity: Taming complex software with functional thinking

4.6 out of 5 stars (132)

{"desktop_buybox_group_1":[{"displayPrice":"$44.53","priceAmount":44.53,"currencySymbol":"$","integerValue":"44","decimalSeparator":".","fractionalValue":"53","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"UnofnDMl9WEAZAhqJ7trLIZzL4Atoe3FyHu%2BQzdnM5ze2wXhtpYAro%2FtfhEjA0XhV6DW%2F1yK5fN9aVcC6a7tL5D2bXELXgd%2BS58aCkeY5Yn2OBhqy8xSSBq3p0VI9eztTdTUfOVst5JVPKKehvjS%2Bw%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Finally, functional programming that actually makes sense for working developers.

Master the game-changing "Actions, Calculations, and Data" framework that transforms how you think about code complexity. Stop wrestling with distributed systems bugs, testing nightmares, and unmaintainable code. This practical guide teaches you the professional functional programming skills that top developers use to build reliable, scalable systems.

What You'll Learn:
 
  • The revolutionary three-category mental model - Instantly classify any piece of code and know exactly how to handle it
  • Practical debugging techniques - Isolate timing bugs in distributed systems using timeline diagrams
  • Real refactoring strategies - Transform messy actions into clean, testable calculations
  • Production-ready patterns - Copy-on-write, defensive copying, and stratified design for maintainable code
  • Team coordination skills - Higher-order functions and composable abstractions that scale

Perfect for Two Types of Developers:

Ready to Level Up? (2-5 years experience)

No scary math or academic theory. Start with concepts you already know and build practical skills you can use Monday morning. Every technique works in JavaScript, Python, Java, or whatever language you're using now.

Looking for a Team Resource? (Senior developers)

Finally, the functional programming book you can confidently recommend to your entire team. Practical, business-focused examples that work with existing codebases - not greenfield rewrites.

What Makes This Different:

Unlike academic FP books that get lost in theory, this guide solves real problems:
 
  • Pizza restaurant distributed systems that teach timeline coordination
  • E-commerce coupon systems that demonstrate data transformations
  • Email marketing platforms that show action isolation techniques
  • Banking workflows that illustrate immutable state management

500+ diagrams and step-by-step code evolution make complex concepts crystal clear. No prior functional programming experience required.

The Bottom Line:

Your code is getting more complex. Distributed systems, asynchronous operations, and multi-threaded environments are the new normal. Traditional object-oriented approaches aren't enough anymore.

This book gives you the mental tools professional functional programmers use to tame complexity and build systems that actually work reliably at scale.

About the Author:

Eric Normand has been teaching functional programming to working developers since 2007. He's consulted with companies from startups to Fortune 500s, helping them adopt FP practices that improve their bottom line. His practical, business-focused approach has helped thousands of developers level up their skills without the academic intimidation.

Purchase includes free PDF, Kindle, and ePub formats from Manning Publications.

Frequently bought together

This item: Grokking Simplicity: Taming complex software with functional thinking
$44.53
Get it as soon as Thursday, Jan 29
Only 9 left in stock - order soon.
Ships from and sold by Amazon.com.
+
$43.99
Get it as soon as Thursday, Jan 29
In Stock
Ships from and sold by Amazon.com.
+
$49.99
Get it as soon as Thursday, Jan 29
Only 16 left in stock - order soon.
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Customers also bought or read

Loading...

Editorial Reviews

Review

"The most insightful and intuitive guide to clean and simple software. I recommend this to all software developers."-- Rob Pacheco, Vision Government Solutions

"This book is a must-read for taming complex software. One of the most engaging titles in years."
-- Michael Aydinbas, EXXETAAG

"A great resource for learning functional thinking and the practical programming techniques derived from it. I can recommend to my colleagues with confidence."
-- Joel Luukka, Geniem

"An indispensable guide to identifying and conquering complexity."
-- Bryan Miller, Petrolitix

"Fantastic book. I think it's the best book on functional programming for programmers of any level. It uses the concepts of Actions, Data, and Calculations to reframe programming. I think it's brilliant. I loved reading your early drafts of your book -- I would have called it a book on how to write valuable features that is liberated from the tar pits of astonishing amounts of complexity."
-- Gene Kim, author of The Unicorn Project

About the Author

Eric Normand has been a functional programmer since 2001 and has been teaching functional programming online and in person since 2007.

Product details

  • Publisher ‏ : ‎ Manning
  • Publication date ‏ : ‎ May 18, 2021
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 550 pages
  • ISBN-10 ‏ : ‎ 1617296201
  • ISBN-13 ‏ : ‎ 978-1617296208
  • Item Weight ‏ : ‎ 2.17 pounds
  • Dimensions ‏ : ‎ 7.38 x 1.1 x 9.25 inches
  • Best Sellers Rank: #296,218 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.6 out of 5 stars (132)

About the author

Follow authors to get new release updates, plus improved recommendations.
Eric Normand
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.6 out of 5 stars
132 global ratings

Customers say

Customers find the book explains concepts succinctly and is great for those just starting their programming journey. They appreciate its clarity, with one customer noting that most of the content is understandable.
AI Generated from the text of customer reviews

Select to learn more

8 customers mention knowledge level, 8 positive, 0 negative
Customers appreciate the book's knowledge level, with several noting that it explains concepts succinctly and is great for beginners starting their programming journey. One customer describes it as a holistic introduction to functional programming.
...There's some eye opening stuff in here about side-effects, mutability, deep vs. shallow copies, and asynchronous behavior....Read more
I'm a beginner and this book is really good at breaking things down, with helpful examples and illustrations. I like it a lot.Read more
...He has done amazing work teaching and evangelizing functional programming, particularly with the Clojure ecosystem. But I feel let down by this work....Read more
Clear, systematic and delivery of principles and approach. Eric has added much needed clarity to expounding the differences between simple and easy!...Read more
3 customers mention clarity, 3 positive, 0 negative
Customers find the book clear.
Clear, systematic and delivery of principles and approach. Eric has added much needed clarity to expounding the differences between simple and easy!...Read more
...0 - 2 years: most of this book is understandable; you may need someone more senior to help you with the larger concepts...Read more
As clear and as helpful as it gets...Read more
Fresh perspective on FP. Highly recommended!
5 out of 5 stars
Fresh perspective on FP. Highly recommended!
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on May 24, 2022
    Format: PaperbackVerified Purchase
    Edit: i made the classic mistake of judging the book before I finished it. I had given it 4 stars after reading 120 pages of it. Now that I have finished it, I realize my one criticism of using outdated syntax was misplaced.

    Normand uses older syntax at the beginning of the book for a purpose. He later mentions more modern and functional array methods, but only after he explains why they exist and how to create them yourself. Having said that, I think this is one of the greatest didactic books on programming (and functional programming in particular) ever written. I'll leave my initial review untouched below:

    ---

    Eric Normand has a gift for teaching, and explaining topics in simple terms. I came to this book already having an understanding of the basic concepts of functional programming, but wanted to fill in some gaps in my understanding. This book did that for me.

    The one thing that remains a mystery for me, was why a book on functional JavaScript published in 2021, written by someone with an otherwise superb understanding of JavaScript, seems to not be aware of some JavaScript syntax that at this point can't really even be called "new".

    For example, when talking about the "copy-on-write" principle, and how to copy objects, Normand tells us that we should use `var object_copy = Object.assign({}, object)`. That's OK, and the old way of doing it, but for years now JavaScript has had the spread operator, which works very well with a functional style: `const objectCopy = { ...object }`.

    Notice also how Normand uses the older `var` instead of a `let` or `const`. There are a handful of other examples of older syntax, and missing current (and often, preferred) syntax.

    This is really a small issue, even though I spent a lot of words on it. So don't let this deter you from the book. It's just that I love this book so much, that it pains me to see the lack of current syntax in places. Other than that, it will go down as one of my favorite programming books I've ever read, and it taught me a lot.
    11 people found this helpful
    Report
  • Reviewed in the United States on January 16, 2024
    Format: PaperbackVerified Purchase
    I thoroughly enjoyed this book. The author breaks down the ideas into such tiny pieces. At times I felt tricked into learning things. Each half of the book begins with deceptively simple ideas that crescendo into powerful and practical finales. He claims the book is for 2 - 5 years, but in my estimation the following is more accurate:

    0 - 2 years: most of this book is understandable; you may need someone more senior to help you with the larger concepts
    2 - 5 years: I can all but guarantee you will learn something extremely valuable from this book
    5+ years: this book can remind you of things you forgot you knew as you guide those more junior

    I can't wait for the sequel!
    3 people found this helpful
    Report
  • Reviewed in the United States on October 8, 2025
    Format: PaperbackVerified Purchase
    Buen libro para aprender de programacion funcional. Se agradeceria la inclusion de otros lenguajes de promgracion
    Report
  • Reviewed in the United States on August 24, 2021
    Format: PaperbackVerified Purchase
    I've been making a living developing software for over 40 years. In that time a lot of technologies have come and gone. There have also been new programming paradigms and evolving interest and increased understanding in established paradigms. One thing that has seemed quite consistent is that systems that are less complex and easier to reason about are more robust and endure longer. They are easier to test and to validate and also easier to maintain and evolve as user and business needs change.

    When Smalltalk and C++ were new, I recall the difficulties figuring out how to think in a new paradigm. It wasn't enough to learn the syntax, what we needed to do was figure out how to build large systems using classes and objects. Over the years object oriented methodologies and patterns emerged. Though I've been tinkering with functional programming for quite a while, crossing the chasm to building large systems has been elusive.

    This book provides access to wisdom that I have been seeking for a long time. Personally I feel that it ranks with classics like "The Little Schemer" as one of the few books that has profoundly changed the way that I think about programming. It's hard to count how many times I thought about how the ideas in this book would have improved systems I've worked on. I wish I had this wisdom decades ago.
    20 people found this helpful
    Report
  • Reviewed in the United States on March 31, 2022
    Format: PaperbackVerified Purchase
    I'm early in my career as a software engineer working primarily with JavaScript. I had gotten some advice to work in the style of Functional Programming, but didn't know where to start.

    The concept of breaking up your code into actions, calculations, and data has completely changed how I approach work. Reading through this book made me think of quite a few times I was facing bugs in my code and had no idea what to do about it.

    There's some eye opening stuff in here about side-effects, mutability, deep vs. shallow copies, and asynchronous behavior.

    For anyone who does not use JS as their primary language, all of the examples are presented without any use of JS-specific libraries, and there are plenty of references to other language-specific tools that may help anyone trying to adopt FP development.

    And most of the examples are pertinent to client-side code, but I think there's something in here for everyone.
    2 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Antony
    5.0 out of 5 stars Excellent book on functional thinking, principles, patterns, and practices
    Reviewed in Germany on February 7, 2025
    Format: PaperbackVerified Purchase
    "Grokking Simplicity: Taming Complex Software With Functional Thinking" is an excellent book that clearly explains functional programming principles, design patterns, and practices that could be applied to any project.

    1. Do not let the number of pages intimidate you. There are lot of diagrams in every chapter. Ample free space is left out for the exercises. The important concepts are repeated in order to avoid having to turn the pages back and forth. Moreover, the book is written in an easy-to-read style.

    2. At the time of my purchase, the book price was 44 Euros. Do not let the price turn you away. The book is definitely worth the price.

    3. Do not let the fact that the code examples are in JavaScript demotivate you. The author had taken extra care to make sure that the code examples are language-feature agnostic. For example, JavaScript language features such as Promises are not used at all.

    The author had recommended the book for programmers with at least 2 years of experience. However, I believe this book is suitable for the Computer Science University Curriculum.
  • Gabriel Vieira
    3.0 out of 5 stars Produto Excelente! Envio descuidado.
    Reviewed in Brazil on December 4, 2024
    Format: PaperbackVerified Purchase
    Realizei a compra para vir dos States para o Brazil. Certamente é uma longa viagem e problemas podem ocorrer devido a negligencia das transportadoras. Entretanto, seria ótimo enviarem os livros dentro de caixas, pois isso evita do pacote ser perfurado ou até mesmo amassado. Neste caso, o livro é de capa normal, então veio com alguns amassos e por algum motivo, ele estava com um rasgo na capa de trás. Enfim, tirando isso o livro está inteiro e é de ótima qualidade. Recomendo a todos.
    Report
  • Jamie Vasales
    5.0 out of 5 stars Well written high quality book!
    Reviewed in Australia on March 25, 2022
    Format: PaperbackVerified Purchase
    For someone who doesn’t know much about Functional Programming and is currently a software engineer this book is great! It is easy to read and has extremely high print/paper quality.

    Definitely recommending this book to my colleagues. I’d put it up there with my personal favourites like Effective Java
  • Fatmonky
    5.0 out of 5 stars A really clear primer to functional programming
    Reviewed in Singapore on August 28, 2021
    Format: PaperbackVerified Purchase
    Reading the usual description of functional programming from most open and free sources, you kinda know that it is about pure functions, and also that you can do functional programming in a no of multi paradigm programming languages. But how do you approach this?

    I thought this book was brilliant. There are other books that cover functional programming in JS, but this actually makes the underlying concepts super clear, in an easy to understand way.

    To note, this book does require that you at least understand some Javascript (or Java, or C... similar syntax). So it is NOT for complete beginners, but would probably be understandable for someone who has completed a Javascript basics or web development bootcamp.
  • Jacob
    4.0 out of 5 stars Actions, calculations and data
    Reviewed in Australia on January 23, 2025
    Format: KindleVerified Purchase
    Some good ideas here that have stuck with me long after setting it down. Some of the content was too basic, some stuff repeated too much, but I think it's worth a read for most junior to mid level engineers, and some seniors seeking better patterns. I'll go back and look over a few of the more interesting pieces again at some point.