There's a fairly well known quote (among programmers, at least), that goes like this:
Jamie posted this to USENET back in 1997, and people have been quoting it ever since. I did some more searching, and I found an earlier variation, with citations going back as far 1988. Yes, Google Groups does have (some) USENET postings going back nearly 20 years. The older version is this:
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
-- Jamie Zawinski
Cool, so this is apparently one of those all-purpose jokes, much like any ethnic joke. Actually, that could be pretty interesting:
Whenever faced with a problem, some people say `Lets use AWK.'
Now, they have two problems."
-- D. Tilbrook
Wow, that's comedy gold! Okay, maybe not. But it leads nicely into the topic I actually wanted to talk about:
Whenever faced with a problem, some people say "Lets have the American do it." Now, they have two problems.
-- M. Bessey
Mark's list of the Top Four programming technologies that fit into the "now they have two problems" template:
(in no particular order)
3. Singleton objects
4. Regular Expressions
The common theme here is that these are all useful techniques, but are often misused by well-meaning programmers. I've seen more grief caused by misapplication of these technologies than anything else in my career. I'm going to write up a couple of quick rants on each of these subjects. This will be good for two reasons:
1. It gives me something to write about for the next couple of days.
2. I can vent a little about some particularly irritating instances of these things that I've seen.