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
##無論是剛入行的程序員還是項目leader都非常值得讀的一本書。
評分 評分##無論是剛入行的程序員還是項目leader都非常值得讀的一本書。
評分 評分##摘錄瞭一些自覺有意思的片段,理解有限,供參考~ 一 關於如何對待一些故障 In most applications there will be certain errors that it’s not worth trying to handle. Typically, these errors are difficult or impossible to handle and don’t occur very often. The sim...
評分##本書就是講怎麼降低軟件的復雜度(Complexity)。軟件是人類曆史上最具創造性的活動,取決於我們對所構建係統的理解的深度。不管我們怎麼努力,軟件的復雜性總會隨著時間推移逐漸增加。有兩種兩種方法來應對復雜度:1. 簡單(simple)、容易理解(obvious) 2. 封裝好復雜度(encapsul...
評分##前半本有些觀點跟我的觀點不一緻,但卻很有啓發,值五星。後半本更多的是工程角度,在彆的書中見過類似觀點。
評分 評分##提供瞭一些新的視角,有藉鑒意義。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有