70% OFF

Software Design for Flexibility: How to Avoid Programming Yourself into a Corner by Chris Hanson, ISBN-13: 978-0262045490

$14.99

SKU: software-design-for-flexibility-how-to-avoid-programming-yourself-into-a-corner-by-chris-hanson-isbn-13-978-0262045490 Category: Tags: , , ,

Description

Software Design for Flexibility: How to Avoid Programming Yourself into a Corner by Chris Hanson, ISBN-13: 978-0262045490

[PDF eBook eTextbook]

  • Publisher: ‎ The MIT Press (March 9, 2021)
  • Language: ‎ English
  • 448 pages
  • ISBN-10: ‎ 0262045494
  • ISBN-13: ‎ 978-0262045490

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

Table of Contents:

Foreword
Preface
Acknowledgments
1: Flexibility in Nature and in Design
2: Domain-Specific Languages
3: Variations on an Arithmetic Theme
4: Pattern Matching
5: Evaluation
6: Layering
7: Propagation
8: Epilogue
A Appendix: Supporting Software
B Appendix: Scheme
References
Index
List of Exercises

Gerald Jay Sussman is Panasonic Professor of Electrical Engineering at Massachusetts Institute of Technology. He is the coauthor of Structure and Interpretation of Computer Programs, Structure and Interpretation of Classical Mechanics, and Functional Differential Equations (all published by the MIT Press).

Chris Hanson is on the technical staff at Datera.

What makes us different?

• Instant Download

• Always Competitive Pricing

• 100% Privacy

• FREE Sample Available

• 24-7 LIVE Customer Support

 

Reviews

There are no reviews yet.

Be the first to review “Software Design for Flexibility: How to Avoid Programming Yourself into a Corner by Chris Hanson, ISBN-13: 978-0262045490”
Cart
Transportation: A Global Supply Chain Perspective 9th Edition, ISBN-13: 978-1337406642Transportation: A Global Supply Chain Perspective 9th Edition, ISBN-13: 978-1337406642
$16.63
×
COMPACT Literature: Reading, Reacting, Writing (9th Edition) 2016 MLA Update eTextbookCOMPACT Literature: Reading, Reacting, Writing (9th Edition) 2016 MLA Update eTextbook
$10.00
×
Understanding Business (12th edition) – PDF – eTextBookUnderstanding Business (12th edition) – PDF – eTextBook
$6.99
×
The Black Swan: The Impact of the Highly Improbable, ISBN-13: 978-1400063512The Black Swan: The Impact of the Highly Improbable, ISBN-13: 978-1400063512
$9.99
×
The Handbook of the Criminology of Terrorism, ISBN-13: 978-1118923955The Handbook of the Criminology of Terrorism, ISBN-13: 978-1118923955
$22.58
×
Starting Out with Python 4th Edition, ISBN-13: 978-0134444321Starting Out with Python 4th Edition, ISBN-13: 978-0134444321
$24.86
×
Fundamentals of Information Systems Security (3rd Edition) – eBookFundamentals of Information Systems Security (3rd Edition) – eBook
$7.99
×
Trigonometry (12th Edition) – Lial/Hornsby/Schneider/Daniels – eBookTrigonometry (12th Edition) – Lial/Hornsby/Schneider/Daniels – eBook
$10.48
×
Student Study Guide and Solutions Manual for Organic Chemistry 2nd Edition, ISBN-13: 978-1118647950Student Study Guide and Solutions Manual for Organic Chemistry 2nd Edition, ISBN-13: 978-1118647950
$13.23
×
Understanding Analysis 2nd Edition by Stephen Abbott, ISBN-13: 978-1493927111Understanding Analysis 2nd Edition by Stephen Abbott, ISBN-13: 978-1493927111
$15.90
×
Biological Psychology (13th Edition) – eBookBiological Psychology (13th Edition) – eBook
$17.98
×
The Five Dysfunctions of a Team: A Leadership Fable Patrick Lencioni, ISBN-13: 978-0787960759The Five Dysfunctions of a Team: A Leadership Fable Patrick Lencioni, ISBN-13: 978-0787960759
$13.52
×
Strength in Numbers: The Rising of Academic Statistics Departments in the U. S., ISBN-13: 978-1461436485Strength in Numbers: The Rising of Academic Statistics Departments in the U. S., ISBN-13: 978-1461436485
$14.25
×
Python for Everyone 2nd Edition by Cay S. Horstmann, ISBN-13: 978-1119056553Python for Everyone 2nd Edition by Cay S. Horstmann, ISBN-13: 978-1119056553
$18.70
×
Encyclopedia of Information Science and Technology, 4th Edition (10 Volumes)Encyclopedia of Information Science and Technology, 4th Edition (10 Volumes)
$17.00
×
The Elements of Statistical Learning: Data Mining, Inference, and Prediction 2nd Edition, ISBN-13: 978-0387848570The Elements of Statistical Learning: Data Mining, Inference, and Prediction 2nd Edition, ISBN-13: 978-0387848570
$13.46
×
CompTIA Security+ Guide to Network Security Fundamentals 6th Edition, ISBN-13: 978-1337288781CompTIA Security+ Guide to Network Security Fundamentals 6th Edition, ISBN-13: 978-1337288781
$18.37
×