Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

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

    Talks at Google

    11 HN recommenders · recommended in 18 months, 2018–2026

    YouTube

    1:01:40 · 548K views · Aug 1, 2018

    John Ousterhout, Stanford professor and creator of Tcl, presents the ideas of his book A Philosophy of Software Design in a Talks at Google session. He covers managing complexity, deep modules and interfaces, and what he teaches in his Stanford software design course.

    HN treats it as the standard one-hour teaser for the book and recommends it for its deep-modules thinking before buying or reading the book.

    Software Engineering & LanguagesSoftware architecture & designTech pioneers & interviews
    1. 1:16:55
      Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan KayErlang Solutions76K views • 9 years ago
    2. 56:39
      Alan Kay - Programming and ScalingColin McDonnell36K views • 11 years ago
    3. 1:04:33
      Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yetJeff Gonis127K views • 13 years ago
    4. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    5. 1:07:58
      Software Art Thou: Glenn Vanderburg - Real Software EngineeringZendesk35K views • 8 years ago
    6. 39:49
      Hammock Driven Development - Rich HickeyClojureTV333K views • 13 years ago
    7. 1:07:26
      Alan Kay - Normal Considered Harmfulpowerfuloutlet60K views • 14 years ago
    8. 51:07
      Alan Kay, 2015: Power of SimplicityKenneth Friedman145K views • 11 years ago
    9. 45:50
      "The Mess We're In" by Joe ArmstrongStrange Loop Conference398K views • 12 years ago
    10. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    11. 7:16
      Unix and GoogleFOAM9.3K views • 10 years ago
    12. 59:50
      Leslie Lamport: Thinking Above the CodeMicrosoft Research403K views • 12 years ago
    13. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    14. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    15. 1:23:35
      "Uncle" Bob MartinProgram on Entrepreneurship179K views • 11 years ago
    16. 1:18:21
      "Uncle" Bob Martin - "The Future of Programming"Paul Stringer's Mobile Tech1.8M views • 10 years ago
    17. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago
    18. 1:00:19
      How To Design A Good API and Why it MattersGoogle TechTalks453K views • 19 years ago
    19. 53:25
      The Only Unbreakable LawMolly Rocket487K views • 4 years ago
    20. 1:00:10
      Functional architecture - The pits of success - Mark SeemannNDC Conferences152K views • 10 years ago

    20 comments from Hacker News

    1. @loup-vaillantJan 2023

      > 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: 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 (typically unforeseen ) change comes our way. The best way to future proof your program is to make it simpler , according to the requirement you are currently aware of. If you expect a particular change, sure, plan for it. But for the unexpected, just keep it simple. Because simple is easier to adapt, add to, or rewrite. That said, the simplest solution is rarely the most obvious. Making thing simple does take a bit more time than rushing through the first thing that comes to mind. But it also pays off in a matter of weeks, so it's quite worth it. And if you have a hard time assessing what "simple" means, SLoC is a surprisingly good metric (we have research that shows this). And mostly your modules should be deep: small APIs that hide significant implementations. I think of it as encapsulati

      Strongly recommendsView on HN
    2. @devnonymousJul 2024· in “A brief interview with Tcl creator John Ousterhout (2023)”

      This google talk 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.

      Strongly recommendsView on HN
    3. @pcwelderFeb 2026· in “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] this video

      Strongly recommendsView on HN
    4. @EdwardCoffinFeb 2019· in “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] this video

      Strongly recommendsView on HN
    5. @WillAdamsJul 2025· in “A 37-year-old wanting to learn computer science”

      I've been re-learning CS (programmed as a kid, then missed getting a minor in CS in college after the service by one 300-level course which wasn't being re-offered when I needed it) and then just did (La)TeX and AppleScript for my day job, but am now trying to create a tool for CNC which is quite different from those which have existed previously, and one thing which has helped a lot is MIT OCW: - the Python courses got me up-to-speed on the basics of that language: [LINK] and [LINK] - Structure and Interpretation of Computer Programs served as a disciplined review of a book which I wasn'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: this video If one is fortunate, there are videos on specific subjects/algorithms which one needs, e.g., [LINK]

      RecommendsView on HN