2. How much design pattern exposure and/or experience did you have prior to reading the book?
The responses to this question reveal one of the core benefits that Design Patterns
brought about: a standard vocabulary for common patterns, which many respondents had used even before learning that the GoF had given them formal names. Once named, the patterns became great tools for collaboration.
"At the time, I thought, 'what's a design pattern?' We might have been doing and talking about what the book covered, but we never called it such," said John Zukowski, a strategic Java consultant and prolific author.
Lara D'Abreo, an independent J2EE consultant, said she had "some" design pattern exposure. "But I didn't have the language and patterns to express what I was actually doing."
3. How did it change your approach to programming, if at all?
Responses ranged from the reverential:
"Is there another approach apart from GOF?"—Lara D'Abreo
To the dismissive:
"Not much"—Vlad Patryshev, R&D engineer, and Danny Kalev, independent software engineer.
"The Design Patterns book gives us a more effective language to talk about design. So we get faster at the whiteboard and when programming some design," said Dirk Riehle, a former software researcher and developer who is working to establish a new software company.
"It made me a lot better at collaborating. [It] gave me a much better handle on the language of software engineering—just reading it made me more than a placeholder at design sessions," said McMullen.
"I never worried too much about design, because I always used real-world analogous metaphors. But in day-to-day programming, patterns are invaluable in solving problems. I take my GoF book everywhere I go and try to memorize a new pattern every couple of weeks," wrote Paul Kimmel, author of several books on object-oriented programming and .NET.
The GoF work "motivated me to use standardized names and terms when using them, so as to make the code/design docs more understandable," wrote Goetz.
"The book changed the level of my programming: I was programming, I can now conceive. Instead of finding new pretty code tricks that take a lot of time to work on, I can now concentrate on higher-level problems.
"I often got the remark 'I did it already' when explaining a pattern. [My] answer is 'yes, you did, but you were not able to communicate with the other engineers in the team, for you were not able to name your objects, your patterns, and then your problems.'"—Laurent Ploix, project manager and technical architect
4. Where does Design Patterns rank among your programming favorites?
For the respondents who stuck to a strict ranking, Design Patterns was at or near the top of their lists. If not No. 1, it was no lower than No. 5 in the vast majority of respondent rankings.
"[It's] like a family member for programming," wrote enterprise Java architect and programmer Rahul Kumar Gupta.
But some found age to be a dogged inhibition:
"In the late 1990s, it was ranked safely among the top five. Today, it has become somewhat outdated and common knowledge. The paradigm shift from plain OO to generic programming is now vehemently propagating into other languages and frameworks. Therefore, I believe that good books about generic programming are located at a higher position."—Danny Kalev.