The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt and David Thomas
The Pragmatic Programmer
From Journeyman to Master
by Andrew Hunt and David Thomas
Straight from the programming trenches, The Pragmatic Programmer: From Journeyman to Master cuts through the increasing specialization and technicalities of modern software development to examine the core process—what do you do, as an individual and as a team, if you want to create software that’s easy to work with and good for your users.
This classic title is regularly featured on software development “Top Ten” lists, and is issued by many corporations to new hires.
We wrote this book before we created our publishing business, and we do not publish it. The Pragmatic Programmer is published by Addison Wesley, and may not contain the same ebook features or format the same as our Pragmatic Bookshelf books. Paperbacks are available wherever old-fashioned paperback books are sold, and the ebook is available here—all available ebook formats for one price, with no restrictive DRM.
Please note: This title is not eligible for any sales, coupons, or other discounts.
The Pragmatic Programmer is more than useful, it’s inspiring.
- Andy King
The BEST book on the practice of programming that I have ever read (and after 20+ years, that’s a lot of books) is The Pragmatic Programmer. Buy this book—it will be the best investment in your education and career you will make this year. The authors, Andrew Hunt and David Thomas, have done their time in the trenches, and it shows. Over the course of the years, I have learned many of the lessons they teach, but I would never have been able to express those lessons as clearly and eloquently as they have in this book.
- W. Craig Trader
See All Reviews
About this Title
Read this book, and you’ll learn how to:
- Fight software rot.
- Catalyze change.
- Avoid the trap of duplicating knowledge.
- Write flexible, dynamic and adaptable code.
- Harness the power of basic tools.
- Avoid programming by coincidence.
- Bullet-proof your code with contracts, assertions and exceptions.
- Capture real requirements.
- Keep formal tools in their place.
- Test ruthlessly and effectively.
- Delight your users.
- Build teams of pragmatic programmers.
- Take responsibility for your work and career.
- Make your developments more precise with automation.
Contents & Extracts
The Pragmatic Programmer is written as 46 small sections, each section ranging from two to ten pages long. Associated with most sections are a small set of exercises (with answers) and possibly one or two challenges. Feel free to download the list of tips.
- 1. A PRAGMATIC PHILOSOPHY
- 1. The Cat Ate My Source Code
- 2. Software Entropy (no broken windows)
- 3. Stone Soup and Boiled Frogs
- 4. Good-Enough Software
- 5. Your Knowledge Portfolio
- 6. Communicate!
- 2. A PRAGMATIC APPROACH
- 7. The Evils of Duplication
- 8. Orthogonality
- 9. Reversibility
- 10. Tracer Bullets
- 11. Prototypes and Post-it Notes
- 12. Domain Languages
- 13. Estimating
- 3. THE BASIC TOOLS
- 14. The Power of Plain Text
- 15. Shell Games
- 16. Power Editing
- 17. Source Code Control
- 18. Debugging
- 19. Text Manipulation
- 20. Code Generators
- 4. PRAGMATIC PARANOIA
- 21. Design by Contract
- 22. Dead Programs Tell No Lies
- 23. Assertive Programming
- 24. When to Use Exceptions
- 25. How to Balance Resources
- 5. BEND, OR BREAK
- 26. Decoupling and the Law of Demeter
- 27. Metaprogramming
- 28. Temporal Coupling
- 29. It’s Just a View
- 30. Blackboards
- 6. WHILE YOU ARE CODING
- 7. BEFORE THE PROJECT
- 36. The Requirements Pit
- 37. Solving Impossible Puzzles
- 38. Not Until You’re Ready
- 39. The Speciﬁcation Trap
- 40. Circles and Arrows
- 8. PRAGMATIC PROJECTS
- 41. Pragmatic Teams
- 42. Ubiquitous Automation
- 43. Ruthless Testing
- 44. It’s All Writing
- 45. Great Expectations
- 46. Pride and Prejudice
- A RESOURCES
- B ANSWERS TO EXERCISES
Andy and Dave run the Pragmatic Bookshelf. Before that, we wrote a whole bunch of software, and worked with teams to help them write even more software.
One day we hope to get it right.