John Ousterhout and Robert

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

5.737 Lượt nghe
John Ousterhout and Robert "Uncle Bob" Martin Discuss Their Software Philosophies
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 Ousterhout https://amzn.to/3XCPliz (Paid Link) Clean Code by Robert Martin https://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