A reading club with a view to the future

253 David Thomas, Andrew Hunt: The Pragmatic Programmer

A guidebook for programmers, teaching the principles and practices that make them more effective, productive, and professional.

David Thomas, Andrew Hunt: The Pragmatic Programmer

Summary

The Pragmatic Programmer is a classic guidebook for software developers, providing practical advice and insights to improve their craft. It teaches fundamental principles, such as the importance of early and continuous testing, maintaining a flexible attitude, and striving for simplicity. The book also covers specific techniques and tools, such as version control, debugging, and refactoring, that can help programmers work more efficiently and produce higher-quality code. Written in a clear and engaging style, with plenty of real-world examples and anecdotes, The Pragmatic Programmer is an essential read for anyone seeking to become a more effective and successful programmer.

About

Title: The Pragmatic Programmer: From Journeyman to Master

Author: David Thomas, Andrew Hunt

Publishing year: 2019

Publisher: Addison-Wesley Professional

Length in hours: 9 hours and 55 minutes

5 main ideas

  1. Always use a pragmatic approach to software development, focusing on practical, real-world solutions over theory or dogma.
  2. Test early and often, including automated testing, to catch errors and ensure the quality of the code.
  3. Be flexible and adaptable, embracing change and using the most appropriate tools and techniques for the job.
  4. Strive for simplicity in both code and design, avoiding unnecessary complexity that can lead to bugs and maintenance problems.
  5. Continuously improve your skills and knowledge, seeking out new challenges and learning from your mistakes.
David Thomas, Andrew Hunt: The Pragmatic Programmer 13 IT and digital projects https://www.audible.com/pd/The-Pragmatic-Programmer-20th-Anniversary-Edition-2nd-Edition-Audiobook/B0833FMYH9 David Thomas, Andrew Hunt: The Pragmatic Programmer 13 IT and digital projects https://www.audible.com/pd/The-Pragmatic-Programmer-20th-Anniversary-Edition-2nd-Edition-Audiobook/B0833FMYH9 David Thomas, Andrew Hunt: The Pragmatic Programmer

5 funny quotes

  1. "The best way to get a project done faster is to start sooner."
  2. "The software you write reflects who you are, more than any other art form."
  3. "Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live."
  4. "Don't worry if it doesn't work right. If everything did, you'd be out of a job."
  5. "Debugging is like being the detective in a crime movie where you're also the murderer."

5 thought-provoking quotes​

  1. "It's not that difficult programs are inherently bad. Complex algorithms are complex, and the real world is complex, so it's foolish to expect a program to be anything but complex."
  2. "The hardest part of building software is deciding what to build, not how to build it."
  3. "The best way to know what a piece of software is doing is to see what it's done."
  4. "Good design is partly creativity and partly discipline. It requires both an intuitive sense of what looks right and a willingness to make tough choices."
  5. "You're not paid to write code; you're paid to add value by providing a solution to a problem."

5 dilemmas

  1. How to balance the need for flexibility and adaptability with the need for stability and consistency in software development.
  2. How to avoid "analysis paralysis," or the tendency to spend too much time planning and designing without actually building anything.
  3. How to decide when to refactor existing code and when to start over from scratch.
  4. How to handle conflicts and disagreements among team members about design decisions and programming practices.
  5. How to balance the competing demands of time, quality, and scope in software development projects.

5 examples

  1. The story of the Mars Climate Orbiter, which was lost in space due to a programming error that occurred when data was converted from English units to metric units.
  2. The success of the NASA space shuttle program, which used an incremental, iterative approach to development and testing.
  3. The development of the Unix operating system by Ken Thompson and Dennis Ritchie at Bell Labs.
  4. The use of the Waterfall model of software development, which was popular in the 1980s and 1990s but has been largely replaced by Agile methodologies.
  5. The concept of "code smells," which are signs that code may be poorly designed or in need of refactoring.

Referenced books

  1. "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin
  2. "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
  3. "Refactoring: Improving the Design of Existing Code" by Martin Fowler
  4. "Code Complete: A Practical Handbook of Software Construction" by Steve McConnell
  5. "Structure and Interpretation of Computer Programs" by Harold Abelson and Gerald Jay Sussman

Share a quote

"The hardest part of building software is deciding what to build, not how to build it."

David Thomas, Andrew Hunt: The Pragmatic Programmer
Become a NextBook Insider

Join our community to access exclusive content, comment on stories, participate in giveaways, and more.