click to view more

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

by Sussman, Gerald Jay

$66.34

add to favourite
  • In Stock soon, order now to reserve your copy.
  • FREE DELIVERY
  • 24/24 Online
  • Yes High Speed
  • Yes Protection
Last update:

Description

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
  • Last updated on

    Product Details

    • The MIT Press Brand
    • Mar 9, 2021 Pub Date:
    • 9780262045490 ISBN-13:
    • 0262045494 ISBN-10:
    • English Language
    • 9.25 in * 1.04 in * 6.25 in Dimensions:
    • 2 lb Weight: