John Ousterhout is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow datacenter applications to take advantage of communication and storage technologies with microsecond-scale latencies. Ousterhout's prior positions include 14 years in industry, where he founded two companies (Scriptics and Electric Cloud), preceded by 14 years as Professor of Computer Science at U.C. Berkeley. He is the creator of the Tcl scripting language and is also well known for his work in distributed operating systems and storage systems. Ousterhout received a BS degree in Physics from Yale University and a PhD in Computer Science from Carnegie Mellon University. He is a member of the National Academy of Engineering and has received numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. Berkeley Distinguished Teaching Award.
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly
##The most important idea is still simplicity: not only does simplicity improve a system's design, but it usually makes systems faster. Clean design and high performance are compatible.
評分##非常好的小書 Create Deep module!! Write comments for abstraction and precision!! More to update
評分##前半本有些觀點跟我的觀點不一緻,但卻很有啓發,值五星。後半本更多的是工程角度,在彆的書中見過類似觀點。
評分##全英文的還是啃完瞭,佩服自己。
評分 評分##前言 人們已經為電子計算機寫瞭80多年的程序瞭,但是令人驚訝的是,很少有關於如何設計這些程序,或者好的程序應該是什麼樣的之類的討論。有很多與軟件開發過程、軟件開發工具相關的重要討論,比如敏捷開發、調試器、版本控製、測試覆蓋工具等。也有大量關於開發技術的分析,比...
評分##最近剛讀完的一本書,書名裏麵帶有philosophy,其實大可不必驚慌,這本書的核心就是關於軟件設計中的復雜度。 作者開門見山提齣瞭本書的兩個目標,一個是講述復雜度的各種特點,另外進一步的目標就是介紹減小軟件設計復雜度的各種方法和技巧。 這本書頁數不多,一個周末就讀完...
評分 評分##新入行的程序員應該看看,都是些老調重彈
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有