A XP guru once had a bad experience with a database framework that wasn't even a framework so frameworks are evil.
A XP guru had a bad experience with a design that misused singletons so SingletonsAreEvil.
A XP guru had a bad experience with a BigDesignUpFront so almost all up front design is evil.
A XP guru had good success with TestFirstDevelopment? so that's the only way to develop.
And so on...
Well the XP guru can explain the reasons very well. If you can't agree, open up the topics and discuss there. Why doesn't my bad experience make it evil? I couldn't find the answer here.
An interesting claim, but you don't offer any support for it. What if it is really:
A person has had bad experiences with big design up front, in many incarnations, with many companies, over the past 20 years. Finally decided that big design up front is broken, and when it *does* work, it is mostly blind luck.
And so on ... :)
A closer reading reveals BDUF doesn't make "up front" design evil. It is not advocating BDUF but some design up front has worked very well many times. --AnonymousDonor
The key is the word many. Making general judgements based on a single experience is probably a BadThing.
If others say these things have worked many many times for them might one turn introspective and say maybe i'm just doing something wrong and these things are not inherently evil? Frameworks have worked well for many many people as have singletons. It takes a megalomaniac to declare my use of singletons didn't work and then tell everyone they are evil, especially when the singleton was completely misused from the start as was the database framework? --AnonymousDonor
Yes, let's be very precise and the answer to everything is "It depends." For those of us who are willing to listen and take advice, however, I would like people to continue to express their opinions regarding practices that are problematic.
[... so ... XisProblematic?? ...]
The jargon phrase, X is Evil, is teenage vernacular that has found too wide of usage on this wiki. It is a perfect example of overstatement, to which the rant below reacts. GoodStyle asks that we perfect understatement instead. -- WardCunningham
But what difference does it make whether we use overstatement or understatement to make a point? Isn't the more important thing that you make an interesting point? I've read most of the "XisEvil?" pages, and I found them very useful. In particular, I really enjoyed the "SingletonsAreEvil" page. Doesn't mean that I won't use the SingletonPattern again, but I have increased understanding of the negative impact of using them within a certain design.
The XisEvil? pages are merely using a tried and true literary technique (hyperbole) to make people listen. Even the writers of the pages don't generally condemn the use of X completely. They end up saying "XisEvil?, so use it with great care". That is an exceedingly important message. -- JeffBay
Right. In other words, "attitude helps us play!". -- WaldenMathews
EwDijkstra got away with "Considered Harmful"...
Curiously, if he had said Goto is Evil, (I'd bet) more people would have felt comfortable ignoring him. But by saying GotoConsideredHarmful, it became accepted dogma to never use gotos, even if that in and of itself is a ridiculous claim. -- SunirShah
(The quotable "Gotos Considered Harmful" was authored by an editor at ACM as a title to Dijkstra's otherwise titleless letter. That editor was NiklausWirth!)
Also, the subtle difference between EVIL and HARM is that harm can be axxidental. -- WaldenMathews
[from Magnum Force]
Callahan: Well I just work for the city, Briggs.
Briggs: So do I. Longer than you, and I've never had to take my gun out of its holster. I'm proud of that.
Callahan: Well, you're a good man, Lieutenant. A good man always knows his limitations.
Why doesn't my bad experience make it evil? I couldn't find the answer here.
I've been robbed by both white men and black men. By your logic i can conclude that men, white and black, are evil. It is the reasoning process itself that is flawed. There's no answers to find here.
Alternatives Limited
Unfortunately experience is almost all we have. An alternative is to inspect the dogma and mentally explore it a bit, but that can only tell you so much. Dogma needs to be road tested also. Another is to trust other people, but trust tends to falter also, possibly because much is based on differing personal preferences. If we could each live 1000 years and technology changes slowed, then perhaps we could explore every alternative with sufficient time such that one bad experience doesn't derail us. However, that won't happen. Thus, in practice we have to use a bit of all three: experience, dogma, and trust. -- top
Don't confuse your experience with the one true truth and then say everyone else is wrong. This is the tack that XP takes.