Software Design for Flexibility How to Avoid Programming Yourself into a Corner

, by ;
Software Design for Flexibility How to Avoid Programming Yourself into a Corner by Hanson, Chris; Sussman, Gerald Jay, 9780262045490
Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
  • ISBN: 9780262045490 | 0262045494
  • Cover: Hardcover
  • Copyright: 3/9/2021

  • Rent

    (Recommended)

    $42.30
     
    Term
    Due
    Price
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.
  • Buy New

    Usually Ships in 3-5 Business Days

    $57.80

Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications.

Time pressures encourage programmers to write code that works well for a narrow purpose, with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code, rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners.

The authors explore ways to enhance flexibility by:
  • Organizing systems using combinators to compose mix-and-match parts, ranging from small functions to whole arithmetics, with standardized interfaces
  • Augmenting data with independent annotation layers, such as units of measurement or provenance
  • Combining independent pieces of partial information using unification or propagation
  • Separating control structure from problem domain with domain models, rule systems and pattern matching, propagation, and dependency-directed backtracking
  • Extending the programming language, using dynamically extensible evaluators
  • Loading Icon

    Please wait while the item is added to your bag...
    Continue Shopping Button
    Checkout Button
    Loading Icon
    Continue Shopping Button