null
Loading... Please wait...
FREE SHIPPING on All Unbranded Items LEARN MORE
Print This Page

Grokking Simplicity (Taming complex software with functional thinking)

List Price: $49.99
SKU:
9781617296208
Quantity:
Minimum Purchase
25 unit(s)
  • Availability: Confirm prior to ordering
  • Branding: minimum 50 pieces (add’l costs below)
  • Check Freight Rates (branded products only)

Branding Options (v), Availability & Lead Times

  • 1-Color Imprint: $2.00 ea.
  • Promo-Page Insert: $2.50 ea. (full-color printed, single-sided page)
  • Belly-Band Wrap: $2.50 ea. (full-color printed)
  • Set-Up Charge: $45 per decoration
FULL DETAILS
  • Availability: Product availability changes daily, so please confirm your quantity is available prior to placing an order.
  • Branded Products: allow 10 business days from proof approval for production. Branding options may be limited or unavailable based on product design or cover artwork.
  • Unbranded Products: allow 3-5 business days for shipping. All Unbranded items receive FREE ground shipping in the US. Inquire for international shipping.
  • RETURNS/CANCELLATIONS: All orders, branded or unbranded, are NON-CANCELLABLE and NON-RETURNABLE once a purchase order has been received.
  • Product Details

    Author:
    Eric Normand
    Format:
    Paperback
    Pages:
    550
    Publisher:
    Manning (May 18, 2021)
    Language:
    English
    ISBN-13:
    9781617296208
    ISBN-10:
    1617296201
    Weight:
    31.55oz
    Dimensions:
    7.375" x 9.25" x 1.1"
    File:
    Eloquence-SimonSchuster_04022026_P9912986_onix30_Complete-20260402.xml
    Folder:
    Eloquence
    List Price:
    $49.99
    Case Pack:
    6
    As low as:
    $44.99
    Publisher Identifier:
    P-SS
    Discount Code:
    G
    Pub Discount:
    37
    Imprint:
    Manning
  • Overview

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

    Summary
    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.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    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.

    About the book
    The book also teaches you to solve the complex timing bugs that inevitably creep into asynchronous and multithreaded code. In ad­vanced sections of the book you learn how composable abstractions help avoid repeating code and open up new levels of expressivity.

    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

    About the reader
    For intermediate and advanced developers building complex software. Exercises, illustrations, self-assessments, and hands-on examples lock in each new idea.

    About the author
    Eric Normand is an expert software developer who has been an influential teacher of functional programming since 2007.

    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