The Pragmatic Programmer your journey to mastery, 20th Anniversary Edition

by ;
Edition: 2nd
Format: Hardcover
Pub. Date: 2019-09-13
Publisher(s): Addison-Wesley Professional
  • Complimentary 7-Day eTextbook Access - Read more
    When you rent or buy this book, you will receive complimentary 7-day online access to the eTextbook version from your PC, Mac, tablet, or smartphone. Feature not included on Marketplace Items.
List Price: $49.99

Buy New

Usually Ships in 2-3 Business Days
$48.49

Rent Book

Select for Price
There was a problem. Please try again later.

Rent Digital

Online: 1825 Days access
Downloadable: Lifetime Access
$44.99
$44.99

Used Book

We're Sorry
Sold Out

This item is being sold by an Individual Seller and will not ship from the Online Bookstore's warehouse. The Seller must confirm the order within two business days. If the Seller refuses to sell or fails to confirm within this time frame, then the order is cancelled.

Please be sure to read the Description offered by the Seller.

Summary

Straight from the trenches, The Pragmatic Programmer, 20th Anniversary Edition cuts through the increasing specialization and technicalities of modern software development to examine the core process: transforming a requirement into working, maintainable code that delights users. Extensively updated with ten new sections and major revisions throughout, this edition covers topics ranging from career development to architectural techniques for keeping code flexible, adaptable, and reusable.

Organized into self-contained sections — and filled with compelling anecdotes, examples, and analogies — The Pragmatic Programmer illustrates today’s best practices and major pitfalls of many different aspects of software development. Wherever possible, the authors abstract away specific technologies, focusing on insights you can apply no matter what tools or languages you use — or will use.

Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, applying this guide’s lessons will help you rapidly improve your productivity, quality, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Author Biography

Dave Thomas and Andy Hunt are internationally recognized as leading voices in the software development community. They consult and speak around the world. Together, they founded the Pragmatic Bookshelf, publishing award-winning, leading-edge books for software developers. They were two of the authors of the Agile Manifesto.

Dave currently teaches college, turns wood, and plays with new technology and paradigms. Andy writes science fiction, is an active musician, and loves to tinker with technology. But, most of all, they’re both driven to keep learning.

Table of Contents

Foreword xi
Preface to the Second Edition xv
From the Preface to the First Edition xix


Chapter 1: A Pragmatic Philosophy 1
Topic 1. It's Your Life 2
Topic 2. The Cat Ate My Source Code 3
Topic 3. Software Entropy 6
Topic 4. Stone Soup and Boiled Frogs 8
Topic 5. Good-Enough Software 11
Topic 6. Your Knowledge Portfolio 14
Topic 7. Communicate! 20

Chapter 2: A Pragmatic Approach 27
Topic 8. The Essence of Good Design 28
Topic 9. DRY–The Evils of Duplication 30
Topic 10. Orthogonality 39
Topic 11. Reversibility 47
Topic 12. Tracer Bullets 51
Topic 13. Prototypes and Post-it Notes 56
Topic 14. Domain Languages 60
Topic 15. Estimating 66

Chapter 3: The Basic Tools 73
Topic 16. The Power of Plain Text 74
Topic 17. Shell Games 78
Topic 18. Power Editing 81
Topic 19. Version Control 84
Topic 20. Debugging 88
Topic 21. Text Manipulation 97
Topic 22. Engineering Daybooks 100

Chapter 4: Pragmatic Paranoia 103
Topic 23. Design by Contract 104
Topic 24. Dead Programs Tell No Lies 112
Topic 25. Assertive Programming 115
Topic 26. How to Balance Resources 118
Topic 27. Don’t Outrun Your Headlights 125

Chapter 5: Bend, or Break 129
Topic 28. Decoupling 130
Topic 29. Juggling the Real World 137
Topic 30. Transforming Programming 147
Topic 31. Inheritance Tax 159
Topic 32. Configuration 167

Chapter 6: Concurrency 171
Topic 33. Breaking Temporal Coupling 172
Topic 34. Shared State Is Incorrect State 176
Topic 35. Actors and Processes 183
Topic 36. Blackboards 189

Chapter 7: While You Are Coding 195
Topic 37. Listen to Your Lizard Brain 196
Topic 38. Programming by Coincidence 201
Topic 39. Algorithm Speed 207
Topic 40. Refactoring 213
Topic 41. Test to Code 218
Topic 42. Property-Based Testing 228
Topic 43. Stay Safe Out There 235
Topic 44. Naming Things 242

Chapter 8: Before the Project 249
Topic 45. The Requirements Pit 250
Topic 46. Solving Impossible Puzzles 258
Topic 47. Working Together 262
Topic 48. The Essence of Agility 265

Chapter 9: Pragmatic Projects 269
Topic 49. Pragmatic Teams 270
Topic 50. Coconuts Don’t Cut It 276
Topic 51. Pragmatic Starter Kit 280
Topic 52. Delight Your Users 287
Topic 53. Pride and Prejudice 288

Postface 291
Bibliography 295
Possible Answers to the Exercises 299
Index 313

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.