Software Design for Flexibility: How to Avoid Programming Yourself Into a Corner (Hardcover)
暫譯: 靈活性軟體設計:如何避免將自己編程到死胡同
Hanson, Chris, Sussman, Gerald Jay
- 出版商: MIT
- 出版日期: 2021-03-09
- 售價: $2,050
- 貴賓價: 9.8 折 $2,009
- 語言: 英文
- 頁數: 448
- 裝訂: Hardcover - also called cloth, retail trade, or trade
- ISBN: 0262045494
- ISBN-13: 9780262045490
-
相關分類:
軟體工程
-
相關翻譯:
軟體彈性設計:如何避免陷入程式設計困境 (簡中版)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$990$891 -
$2,573Structure and Interpretation of Computer Programs, 2/e (美國原版)
-
$2,250$2,138 -
$1,290$1,226 -
$480$408 -
$2,500$2,375 -
$620$490 -
$1,700$1,700 -
$1,980$1,940 -
$1,600$1,568 -
$4,620$4,389 -
$1,110$1,055 -
$2,090$2,048 -
$600$474 -
$1,650$1,568 -
$560$442 -
$1,980$1,881 -
$780$608 -
$1,840Multithreaded JavaScript: Concurrency Beyond the Event Loop
-
$2,200$2,090 -
$2,680$2,626 -
$750$593 -
$1,881Functional Design: Principles, Patterns, and Practices (Paperback)
-
$2,182Ai-Assisted Programming: Better Planning, Coding, Testing, and Deployment (Paperback)
-
$750$375
相關主題
商品描述
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
商品描述(中文翻譯)
建立大型系統的策略,使其能夠輕鬆適應新情況,只需進行小幅的程式修改。
時間壓力促使程式設計師撰寫適用於狹窄目的的程式碼,卻沒有成長的空間。但最佳系統是可演變的;它們可以通過添加程式碼來適應新情況,而不是改變現有的程式碼。作者描述了他們在超過100年的程式設計經驗中發現的有效技術,這些技術將幫助程式設計師避免將自己編程到死胡同中。
作者探討了增強靈活性的方法,包括:
使用組合子組織系統,以組合可混合的部分,範圍從小函數到整個算術,並具有標準化介面
通過獨立的註釋層增強數據,例如測量單位或來源
使用統一或傳播結合獨立的部分信息
通過領域模型、規則系統和模式匹配、傳播及依賴導向回溯將控制結構與問題領域分離
擴展程式語言,使用動態可擴展的評估器
作者簡介
Chris Hanson is on the technical staff at Datera.
Gerald Jay Sussman is Panasonic Professor of Electrical Engineering at MIT. 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 是 Datera 的技術團隊成員。
Gerald Jay Sussman 是麻省理工學院的松下電氣工程教授。他是《計算機程式的結構與解釋》、《古典力學的結構與解釋》和《函數微分方程》(均由麻省理工學院出版社出版)的共同作者。