發表於2025-05-24
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
A Philosophy of Software Design 下載 mobi pdf epub txt 電子書 格式 2025
A Philosophy of Software Design 下載 mobi epub pdf 電子書##A clean, simple, and obvious design is a beautiful thing
評分 評分##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.
評分 評分 評分##概述 本書2020年炒的太熱,是一本好書,但是書中幾乎沒有提齣什麼新的思想以及新的方法。可以理解為作者對軟件研發的一份個人思考總結。 本書主要圍繞軟件開發的復雜性來展開,如何定義復雜性?如何識彆復雜性?如何降低軟件的復雜性? 係統的總體復雜度是由每個部分的復雜度乘...
評分##"The first is to describe the nature of software complexity ... The book’s second, and more challenging, goal is to present techniques you can use during the software development process to minimize complexity."/"...the increments of development should be abstraction, not features..."/這本書著重強調軟件係統設計的目標是控製住係統內部的復雜度。比較少討論功能和性能。
評分##神書,開發人員必讀書籍,尤其是前半本,字字珠璣。9.5 Read on my blog: [https://linghao.io/notes/a-philosophy-of-software-design] [A Philosophy of Software Design] is a short yet to-the-point book on high level ideas on how to design a software system with less complexity. It’s a book I would recommend to eve...
評分##半年前從一位朋友那裏藉瞭一本他還沒讀完的<A Philosophy of Software Design>,自己一直沒讀。十一期間花瞭3天時間斷斷續續的看完,這本書對我最有用的部分是其在增訂版中對 <Clean Code> 中一些觀點的反對,其實軟件工程這門學科還很年輕,雖然有一些大多數人贊...
A Philosophy of Software Design mobi epub pdf txt 電子書 格式下載 2025