3 ms·
I always thought I was too dumb to understand the Gang of Four book. I thought everyone else must be so much smarter than me, because everyone praised this book
by simon83 9y ago
I always thought I was too dumb to understand the Gang of Four book. I thought everyone else must be so much smarter than me, because everyone praised this book. I really had trouble getting a clear picture in my head of the ideas, concepts and how it all fits together, due to the, as you say, excessive abstraction.
I guess it was mostly due to my inexperience in software design in general. I haven't tried to read it again since then, but I'm sure by now I'd at least understand some of the words in there :) So I wouldn't recommend it for beginners, but I think even experienced developers could still learn something new.
- mcv 9y agoI had the same thing. Fortunately there are other books that explain design patterns in a clearer way, but I still didn't quite see the point at the time. Clearly design patterns are important, and I should master them, right? But then I switched from Java to Ruby, and half of the design patterns were completely irrelevant. And I had other problems for which I didn't have appropriate design patterns. I think the Gang of Four book's target audience is far narrower than it's often been interpreted. It's meant for intermediate C++ programmers. People who have already run into a number of these problems that C++ doesn't really handle well, and now here's a book that helps you around those limitations. I guess it also works well for older Java versions, but it's not universal. Many patterns are completely irrelevant for some languages, because those languages have easier ways to do that. Many languages have other shortcomings that are not handled in that book. Maybe there's another target audience for that book: language designers. Design your language so nobody needs these patterns. Have built-in constructs that handle this stuff in an easy way for the programmer.