Thursday, May 29, 2008

Pattern Extremists

It drives me a little crazy when people (including myself) become emotionally charged during an argument. It always dilutes the argument or kills credibility - or both.

Programmers have plenty of emotionally charged debates, and while design patterns is probably not at the top of the list of polarizing issues, it's one of them. Some programmers really work themselves up into a childish frenzy, and it sounds like it's the folks on the other end of the spectrum that they're ranting about.

These rants really aren't about the patterns, or the idea of patterns, but the people using the patterns. If people are cutting+pasting from the GoF book, that's really not an issue with the pattern concept. "But patterns encourage that behavior," says the pattern-hater. I'd say that laziness, lack of education, or a need to feign proficiency might encourage that behavior. If design patterns didn't exist, those people would be copy+pasting from other sources that would likely be less well thought out.

The other rant usually revolves around patterns promoting obscure terminology. I agree, but only a little. Throwing around pattern names to non-programmers communicates nothing. But if I'm reading a bit of technical documentation that identifies a class as a Singleton, that saves paragraphs of reading. (And if I don't know what a Singleton is, I've got a great learning opportunity on my hands.)

It's another tool vs. user argument. The tool is great when used effectively, and horribly destructive in the wrong hands. Don't blame the tool for the error.

Labels:

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home