

John Ousterhout
Stanford professor of computer science and author of A Philosophy of Software Design. Founder of two tech companies and creator of the TCL scripting language.
Top 3 podcasts with John Ousterhout
Ranked by the Snipd community

391 snips
Apr 9, 2025 • 1h 21min
The Philosophy of Software Design – with John Ousterhout
John Ousterhout, a Stanford professor and creator of the TCL scripting language, shares his insights on software design in the age of AI. He argues that as AI tools advance, strong design principles become even more crucial. The discussion covers the pitfalls of prioritizing speed over quality in coding, the value of deep modules, and the importance of empathy in design. Ousterhout also critiques common practices like TDD and emphasizes the need for a balanced approach to design. His 'design it twice' principle offers a fresh perspective for developers.

20 snips
Jul 12, 2022 • 1h 5min
Episode 520: John Ousterhout on A Philosophy of Software Design
John Ousterhout, professor of computer science at Stanford University, joined SE Radio host Jeff Doolittle for a conversation about his book, A Philosophy of Software Design. They discussed the history and ongoing challenges of software system design, especially the nature of complexity and the difficulties handling it. The conversation also explored various design concepts from the book, such as modularity, layering, abstraction, information hiding, maintainability, and readability.

8 snips
Sep 27, 2024 • 1h 3min
Ep485 - John Ousterhout | A Philosophy of Software Design
John Ousterhout, a Stanford Professor and author, delves into the intricacies of software design based on his extensive academic and industry experience. He emphasizes the importance of mastering design principles to manage complexity, advocating for deep classes with simple interfaces. Ousterhout discusses innovative approaches to software education, focusing on collaboration and constructive feedback. He also critiques conventional error handling practices and highlights hiring for potential over past experience, aiming to reshape how we think about coding and design.