Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Possible Duplicates:
Closing as impossible
Is “Don't do it” a valid answer?

Is it considered ok to reply to someone asking "How do I do this" with "Don't do it"? Or for example replying to someone asking "Using X I have this problem, what can I do?" with something like "You should not use X at all"?

In other words should I just keep silent if I see someone using a bad tool that is asking directions about how to get the most out of it?

share|improve this question

marked as duplicate by Michael Mrozek, sth, John Saunders, Uphill Luge, Troggy Feb 1 '11 at 7:30

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

If you can provide a sensible alternative then possibly. However, it might be sensible to find out (via a comment) if they have to use "X".

There are a number of reasons why they could be stuck using a inappropriate tool/library/language etc. and you need to find this out before jumping in with a "don't do that".

The only exception to this would be on Home Improvement if someone was asking something that could be threatening to life or limb.

share|improve this answer
Software problems can threaten lives ... – Dr. belisarius Feb 1 '11 at 3:54

I think that's a perfectly valid answer, as long as you back that up with a reason / reasons why not (and those reasons are well founded.) It could also be followed with a "if you really are going to do it though, then x is the best option".

For instance, someone could ask what's the best way of doing functional programming in Java. I think a perfectly valid and correct answer would be to say don't do it, use something like Scala instead because it's designed for that purpose (and so on.) However, if you really haven't got a choice then use a library like functional Java.

Perhaps not the best example, but hopefully it conveys the idea!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .