Skip to content
0:00 / 0:00

#deepmodules#softwarecomplexity#johnousterhout

A Philosophy of Software Design | John Ousterhout | Talks at Google

Talks at Google

2.4M subscribers • 13 videos on Hallway

YouTube
  • Recommended by 14 people: 11 on Hacker News, 1 on Lobsters, 1 in engineering communities and 1 curated list.
  • A classic. People kept recommending it from 2019 to 2026.
  • Presented by John Ousterhout, Professor of Computer Science at Stanford University
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

547K views8 years ago14 recommendations

Software designTools and practiceDesign patternsSoftware architectureSimplicity and complexity

John Ousterhout presents his philosophy of software design, focusing on managing complexity through deep modules and clean interfaces.

John Ousterhout, Professor of Computer Science at Stanford University, discusses complex techniques on how to become a more confident coder. John is excited to announce that he just published the first edition of a new book on software design, based on material from a software design class he has been teaching at Stanford for the last several years. Prior to joining Stanford, John spent 14 years in industry where he founded two companies, preceded by another 14 years as a professor at Berkeley. Over the course of his career, Professor Ousterhout has built a number of influential systems (Sprite OS, Tcl.Tk, log structured file systems, Raft, RAMcloud, etc) and has taught several courses on software design. In this talk, he synthesizes these experiences into an insightful and provocative discussion on how to (and how not to) design software. Get the book: goo.gl/ywYJ3i

Why it's here

14 people recommend this

What people say. Highly recommended as a transformational talk on software design, deep interfaces, and managing complexity.

u/mackstannin r/softwarearchitecture • Recommends

A Philosophy of Software Design | John Ousterhout | Talks at Google

EdwardCoffinon Hacker News • Recommends

On “Programming Books You Wish You Read Earlier”

I haven't read the book yet, but I have watched his Talks at Google talk on the topic 1 a couple of times (1 hour), highly recommended. 1 link to this video

loup-vaillanton Hacker News • Recommends

> I'd rather get to value now by making something that just works(and is adequately tested) than engineer something thats future proof but takes longer to get out. If you haven't read it, I highly recommend A Philosophy of Software Design by John Ousterhout. His talk is a great teaser for the book: link to this video Here's the thing: a program properly written for the future does not take longer to get out. Not much, at least. What we instinctively think of as "future proof" is generally anything but: by anticipating some particular kind of change that may happen some time in the future, but in practice almost never does, we end up with more complex programs that are harder to modify when an actual (t…

devnonymouson Hacker News • Recommends

On “A brief interview with Tcl creator John Ousterhout (2023)”

This google talk link to this video is a condensed version of the (already small - 150 pags IIRC) book. I highly recommend both. To the point made by the GP (and others here) about how useful the book is, I must add that I got a whole lot more from this small book than some other well known and oft suggested titles (like Clean Code, POSA etc). My most recent peeve about the matter is that Kent Beck"s "Tidy, Fisrt?" was apparently motivated partly in response to this book and yet it falls way too short to matching up. Half of thst book is way too simplistic and almost patronizing and the other is handwavy abstract notions too scared to touch reality lest it spoil the narrative.

pcwelderon Hacker News • Recommends

On “Parse, Don't Validate (2019)”

Each repost is worth it. This, along with John Ousterhout's talk 1 on deep interfaces was transformational for me. And this is coming from a guy who codes in python, so lots of transferable learnings. 1 link to this video

inactive-useron Lobsters • Recommends

A Philosophy of Software Design

programming-talkscurated list on GitHubRecommends

Under “Software Development”

A Philosophy of Software Design 01:01:39 by **John Ousterhout** (2018)

bchon Hacker News • Recommends

On “Who Says Tcl Rules?”

…j, finally an in-core blessed object system, native database framework, Miguel Sopher’s(RIP) work on the stackless non-recursive engine (NRE) and coroutines that fell out of that work... Back to Ousterhout though, you might dig his “Philosophy of Software Design”0 book, or talks associated with it1. Lots to like in this space... 0 link 1 link to this video…

ignoramouson Hacker News • Recommends

On “In Search of an Understandable Consensus Algorithm (2014) [pdf]”

I haven't read the book, but this presentation from professor John Ousterhout on the book was pretty good: link to this video

code_biologiston Hacker News • Recommends

On “Ask HN: Best books under 200 pages for developers?”

…asionally you have to work with other's code. Essentially the largest possible code project you can fit in one semester. Along the way, Ousterhout will give a deep code review of the each project. I think it must be very insightful to see the same project implemented so many ways, and to see what works in terms of simplicity and extensibility. 1 link to this video…

bear8642on Hacker News • Recommends

On “Ask HN: How did you learn good program design?”

>"A Philosophy of Software Design" by John Ousterhout Indeed, very interesting little book! He's done a talk0 about it if you want a taste before buying. 0 link to this video

Mawron Hacker News • Recommends

On “Death by design patterns, or On the cognitive load of abstractions in the code”

Ah, a Java developer. Try a normal language and when faced with the need to split code up, use... functions. You will be enlightened. Mandatory homework: - link - "A philosophy of software design" by John Ousterhout. Video primer: link to this video - "Functional Core, Imperative Shell": link

fzilon Hacker News • Recommends

On “A Philosophy of Software Design”

Probably the best book I’ve read on this subject. There’s a lecture by the author1 as a quick overview of what the book is about. 1: link to this video

WillAdamson Hacker News • Recommends

On “A 37-year-old wanting to learn computer science”

…'t patient enough to do the exercises of when I first read it: link - Mathematics for Computer Science helped make up for my spotty math: link I've also found the recent book: link very helpful (first reading I did one chapter at a time, re-writing my current project applying the principles of that chapter) --- interesting video overview at: link to this video If one is fortunate, there are videos on specific subjects/algorithms which one needs, e.g., link…

u/polyglotdevin r/softwarearchitecture • Mentions

On “This book is saying what I had in my mind for years: A Philosophy of Software Design”

Highly recommend the book(it’s also fairly short and easy to read) but the author also did a talk here if you’re curious link to this video

u/raybbin r/softwarearchitecture • Mentions

On “Can you suggest resources to get better at software design principles”

And here's a talk he gave related to the book: [video