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.
发表于2024-12-22
A Philosophy of Software Design 2024 pdf epub mobi 电子书
1. complexity is incremental:you have to sweat the small stuff 2. working code isn’t enough 3. make continual small investments to improve system design 4. interfaces should be designed to make the most common usage as soon as possible 5.module should be d...
评分John Ousterhout, the author of this book who has built a number of influential systems (Tcl / Tk, Raft, RAMcloud, etc), has ever gave an impressive talk at Google which covers the same theme. In that talk, he asked the audience, "If you had to pick one idea...
评分减少软件复杂度是本书的主题,为此作者提出了模块深度的概念,并从该角度对编程中的种种进行了分析。 第四章 Modules Should Be Deep是比较核心的一个章节,我把它的主要内容翻译成了中文,文章是《 软件设计之Deep Module(深模块)》,欢迎阅览和指正。 有人说书中不少内容是...
评分 评分减少软件复杂度是本书的主题,为此作者提出了模块深度的概念,并从该角度对编程中的种种进行了分析。 第四章 Modules Should Be Deep是比较核心的一个章节,我把它的主要内容翻译成了中文,文章是《 软件设计之Deep Module(深模块)》,欢迎阅览和指正。 有人说书中不少内容是...
图书标签: 软件工程 软件架构 计算机 软件设计 编程 程序设计 架构师 programming
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
喜欢这本书道理写在前然后举例说明的讲解方式,很好读,有一些帮助。
评分前半本五星推荐
评分倒还谈不上philosophy, 算是principles吧 好的封装应该是“深”的。敏捷以及测试驱动开发果然在大牛圈是不那么受待见的,他们崇尚前期有更充分的思考和设计。 Design around the critical path是很实用的建议。一开始先判断是否是special case, 而后一马平川。
评分#道理都懂然鹅系列
评分前半本有些观点跟我的观点不一致,但却很有启发,值五星。后半本更多的是工程角度,在别的书中见过类似观点。
A Philosophy of Software Design 2024 pdf epub mobi 电子书