Book · 1994
Design Patterns
by Erich Gamma
The 1994 Gang of Four catalog that named 23 object-oriented patterns, gave developers a shared vocabulary, and taught a generation to over-apply both.
What does Reddit think of Design Patterns?
The sharpest critique lives in r/programming's ↑179 comment: "stop writing code your colleagues can't understand — no matter whether you're an off-the-deep-end FP zealot or a Java weenie trying to shove GoF design patterns into every available orifice." The 23 patterns are not controversial. Their application is.
Community feedback & reader fit
Themes
- · Object-oriented design patterns and shared vocabulary
- · Composition over inheritance
- · Software reusability and structural flexibility
- · Career reading lists and professional canon
- · Criticism of pattern over-application
Common praise
- + r/ExperiencedDevs credits it with establishing composition-over-inheritance as a first principle before most developers were born — the ↑335 r/programming comment notes the book recommended it 'in the early nineties.'
- + The shared vocabulary pays off in code reviews: colleagues who have read it argue at the pattern level instead of relitigating structure from scratch.
- + Appears in nearly every serious recommendation list across r/learnprogramming and r/programming, which is its own kind of endorsement after 30 years.
Common criticism
- − The ↑179 r/programming comment puts the real objection plainly: forcing GoF patterns into every available orifice produces code that colleagues cannot understand.
- − r/cscareerquestions mentions it 81 times at flat neutral — it reads as a credential signal rather than a book anyone is excited to defend.
- − The C++ and Smalltalk code examples have aged badly enough that most readers need a translation layer before the patterns make sense in their own stack.
- − Several r/learnprogramming threads list it without annotation, which suggests it survives on reputation more than on what contemporary readers are getting from it.
Who it's for
If your team keeps re-arguing the same structural decisions in every code review, this is the book that gives those arguments a name and sometimes a resolution. Senior engineers in r/ExperiencedDevs treat it as foundational context rather than an active reference. Read it for the vocabulary; skip the code examples, which are period artifacts. Juniors who try to apply every pattern immediately will produce exactly the kind of code the ↑179 r/programming comment mocks. If you work in a language with modern idioms that already bake in several of these patterns, some chapters will feel like archaeology.
Mentions over time
Which Reddit comments matter for Design Patterns?
Top-upvoted quotes across the subreddits where this book is mentioned. Click through to read the full thread.
“Here's the list, for anyone interested in just that: 1. The Pragmatic Programmer by David Thomas & Andrew Hunt (67% recommended) 2. Clean Code by Robert C. Martin (66% recommended) 3. Code Complete by Steve McConnell (42% recommended) 4. Refactoring by Martin Fowler (35% recommended) 5. Hea…
“The best way to be a good writer is to read a lot and write a lot. It is no different with software. I would recommend reading a lot of the big python projects on github. Most of good software engineering is making sure your code is flexible to quickly adapt in the face of changing requirements. So …
“The Gang of Four patterns book, published in the early ‘90s recommended composition over inheritance. The idea is older than that.
“Ok. First of all, open source code that people use are very complex. Don't put your expectations there right away. It's actually why I dislike "just contribute to open source": if open source means working with your friend, sure. However, many popular real world open source (that one is small) take…
“First off, you're NOT a failure. You're at the starting line, and most people NEVER even make it this far. A CS degree? That's your WEAPON. But right now, you're not wielding it - you're letting it collect dust. The AI crutch you're using? CUT IT OUT. Immediately. You know why? Because you're steal…
“Here's my list of the classics: **General Computing** * But How Do It Know? - The Basic Principles of Computers for Everyone * The Elements of Computing Systems: Building a Modern Computer from First Principles * […
“I've read a lot of books. But mainly, I've applied what I've read in a - pretty huge - personal project (about 100k lines of C++) - it's at www.controlmedia.art if you're curious. I've found that at work trying new things out is not always called for, depending on th…
“The missed moral of the story is **stop writing code your colleagues can't understand** \- no matter whether you're an off-the-deep-end FP zealot or a Java weenie trying to shove GoF design patterns into every available orifice.
Convinced? Pick up Design Patterns
Readers also mention
Books that share discussion threads with Design Patterns — counted from the comments, not curated.
Head First Design Patterns
Eric Freeman
A pattern book that shows up on every 'essential reading' list while experienced devs debate whether you still need the Head First version.
Refactoring
Martin Fowler
Martin Fowler's catalog of named moves for cleaning up code that already works, cited 116 times across Reddit in 7 years as the Clean Code alternative people actually prefer.
The Pragmatic Programmer
Andy Hunt
Two veterans hand you a checklist for the craft: don't write code you don't need, own your tools, and fix the broken window before someone else does.
Code Complete
Steve McConnell
Steve McConnell's 900-page construction manual for software, ranked third on Reddit's canonical reading list and still cited 25 years after publication.
Clean Code
Robert C. Martin
The book 536 Reddit threads cite when arguing about naming variables — revered by beginners, argued over by seniors.
Structure and Interpretation of Computer Programs
Harold Abelson
MIT's 1985 Scheme textbook that 319 Reddit commenters have recommended and a noticeably smaller number have finished.
Design Patterns — frequently asked
Is Design Patterns still worth reading in 2026?+
Depends on what you want from it. The code examples are dated C++ and Smalltalk, but the pattern vocabulary still shows up in technical interviews and code reviews. Read it for the concepts; do not use the sample code as a template.
What does Reddit actually think of Design Patterns?+
The sharpest criticism comes from r/programming, where the ↑179 comment specifically warns against over-applying GoF patterns. Nobody argues the book is wrong; they argue that misreading it produces worse code than not reading it.
Should I read Design Patterns before or after Clean Code?+
Either order works, but they address different problems. r/learnprogramming mentions both in the same recommendation lists — Clean Code at 66% recommended in one ↑655 thread, Design Patterns nearby. Clean Code is about line-level legibility; Design Patterns is about structural vocabulary. Mid-career engineers arguing about architecture will find Design Patterns the more immediately applicable one.
Is Design Patterns responsible for pattern over-engineering?+
The book gets blamed for behavior it warns against. The ↑335 r/programming comment notes the GoF recommendation for composition over inheritance predates most modern debates. The ↑179 comment mocking patterns shoved 'into every available orifice' is criticizing a reader failure mode, not the book's argument.