DiscoverBook OverflowJohn Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies
John Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies

John Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies

Update: 2025-03-31
Share

Description

Following up on their recent discussion on software design (inspired by Book Overflow!), John Ousterhout and Robert "Uncle Bob" Martin join Carter and Nathan for their first ever joint interview! Join them as they discuss what it was like working together, how the discussion came to be, and what they both learned from the process!


Ousterhout/Martin Discussion: https://github.com/johnousterhout/aposd-vs-clean-code


-- Books Mentioned in this Episode --

Note: As an Amazon Associate, we earn from qualifying purchases.

----------------------------------------------------------


A Philosophy of Software Design by John Ousterhouthttps://amzn.to/3XCPliz (Paid Link)Clean Code by Robert Martinhttps://amzn.to/4iJ4Ttq (Paid Link)


Clean Coder, The: A Code of Conduct for Professional Programmers by Robert C. Martin 

https://amzn.to/3E9zf9l (Paid Link)


We, Programmers: A Chronicle of Coders from Ada to AI by Robert Martin

https://amzn.to/42aW194 (Paid Link)


Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

https://amzn.to/4hRbYa3 (Paid Link)


Structured Analysis and System Specification by Tom DeMarco, P. J. Plauger

https://amzn.to/3E0Y7QD (Paid Link)


Practical Guide to Structured Systems Design by Meilir Page-Jones

https://amzn.to/4hNd8mV (Paid Link)


Design by Contract: By Example First Edition by Richard Mitchell, Jim McKim, Bertrand Meyer

https://amzn.to/4i4X6VW (Paid Link)


Structured Programming by Edsger Wybe Dijkstra, C. A. R. Hoare, Ole-Johan Dahl

https://amzn.to/42fXfzX (Paid Link)


On the Criteria To Be Used in Decomposing Systems into Modules by D.L. Parnas

https://wstomv.win.tue.nl/edu/2ip30/references/criteria_for_modularization.pdf

----------------

00:00 Intro

03:11 Origin of the debate

06:52 Motivation for the debate

11:35 How did you settle on the terms of the debate?

14:30 Overcoming Self-Doubt and Engaging with others

20:06 Influences in Developing Design Aesthetics

28:45 Taking time for Deep Thinking vs Shallow thinking

33:58 Writing Code and Reducing Cognative Load

39:05 Encouraging healthy debate

42:38 Coding Style, Retirement, and what’s next

49:40 Final Thoughts

----------------


Spotify: https://open.spotify.com/show/5kj6DLCEWR5nHShlSYJI5L

Apple Podcasts: https://podcasts.apple.com/us/podcast/book-overflow/id1745257325

X: https://x.com/bookoverflowpod

Carter on X: https://x.com/cartermorgan

Nathan's Functionally Imperative: www.functionallyimperative.com


----------------


Book Overflow is a podcast for software engineers, by software engineers dedicated to improving our craft by reading the best technical books in the world. Join Carter Morgan and Nathan Toups as they read and discuss a new technical book each week!


The full book schedule and links to every major podcast player can be found at https://www.bookoverflow.io

Comments 
In Channel
loading
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

John Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies

John Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies

Carter Morgan and Nathan Toups