6 ms·
I get why people ask questions like that. Many questions on SO are often weird because of the XY problem [0]. Someone asks for X, people answering think doing X
by matsemann 5y ago
I get why people ask questions like that. Many questions on SO are often weird because of the XY problem [0]. Someone asks for X, people answering think doing X is really weird and difficult, and thus dig a bit more. They then find that the asker really wants to achieve Y which is simple to do.
[0]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem https://meta.stackexchange.com/questions/66377/what-is-the-x...
- skohan 5y agoI find this frustrating because I often want exactly
- matsemann 5y agoYeah, I get that as well and sometimes feel the same. The difference is that a beginner tries to do Y, fails, think they can solve it by doing subtask X, so they ask X. But us with more experience know why Y didn't work and probably have a good reason for asking X. But the answerers cannot know that. So adding a small snippet of what have been tried, or why X specific is what's needed is a good idea to steer the conversation in the correct direction.
- AnIdiotOnTheNet 5y agoIn my experience, if you tell people your use case for wanting to do X instead of Y, they'll just attack your use case instead. I, for one, never use places like SO anymore because everyone just wants to pretend you really want Y, because that's an answer they know.
- dkarl 5y agoI use SO all the time for gleaning information from the answers, but never for asking questions, for this very reason. The questions that show up in search results are full of great answers and information, but mine ended up full of people who didn't know the answer to my question but were eager to tell me about something they did know. Then I'd put more and more effort into providing context and justifying the question, until eventually the answers dried up. I decided I was better off seeking help on mailing lists, issue trackers, chat rooms, etc.
- skohan 5y agoYeah honestly I feel like it has gotten a lot worse since I was using it actively maybe 8-10 years ago. It seems to have moved towards a lot of people playing the karma game, and trying to focus on every flaw rather than trying to answer the question and give help. Nowadays, I usually try to find a community or forum directly related to the specific subject I'm working on. However, it's hard to tell if the quality has actually changed, or whether it's just more geared towards novice programmers and I'm just not asking the type of questions that get help on the platform anymore.
- praptak 5y agoThen specify the context as part of your question: "I want X. I think alternative solutions like Y won't work because...". As it is with many things in life the more effort you invest in the question, the greater the returns :) Although tbh I quite often want the opposite, so I add "Alternative solutions/workarounds welcome" or "I don't see how I can avoid doing X but maybe..."
- pessimizer 5y ago> "I want X. I think alternative solutions like Y won't work because..." Listing all of the things you don't want to do would not only take up more words and effort than the question about what you do want to do, but is hopeless. Somebody who doesn't know the answer to your question but still wants to comment will find something that you were unaware you didn't want to do. It's better just to answer questions directly, and then when somebody uses that solution and it doesn't get them closer to the solution to their real problem, they'll ask a better question.
- mixedCase 5y agoSorry, but that doesn't make sense and sounds like a rationalization for being lazy with the question. You're worrying about a straw man instead of trying to help out people who do know how to deal with the actual problem you have. And bad solutions can still "solve" problems with horrible trade-offs, so instead of searching again for a better solution people may just employ the worse one unaware of the better possibilities, consequences be damned.
- skohan 5y agoI think it depends on the quality of the question. For instance, if it's a semi-vague question just pointing in the direction of a solution, then I think it's fair to question the motivation of the poster. But if it's a very precise question about how to accomplish something specific, I think the burden should be on the person answering to add the clause: "you can do X, but its generally not considered a good idea because Y". Honestly if you can't answer the original question, I get the impression you're just trying to be a smarty-pants and show off some domain knowledge you have which is related to the task at hand.
- latexr 5y agoThe XY problem applies when someone asks how to accomplish something. In this case they want to know why something happens; what they’re doing around it is irrelevant. It’s analogous to asking “why does pizza taste metallic to me?” and getting “why are you eating pizza?” as a reply.
- matsemann 5y agoNo, the pizza analogy doesn't work. It's the specific use of man here being questioned ("why is it used in a test?"), not man usage in general.
- johnbcoughlin 5y agoWhy does pizza taste metallic to me when I eat it on a boat?
- deleted 5y ago[deleted]
- latexr 5y agoAnalogies don’t have to be one-to-one. It’s close—and simple—enough to get the larger point across.
- matsemann 5y agoIt doesn't, though. As I see why asking "why are you eating pizza is wrong", but not why asking "why are you using man in your tests" is wrong. So your analogy is more of a misrepresentation of the situation than anything else. If you don't want focus on the details, then don't provide them. If you provide them, it has to be because you think they might be relevant. And then it's relevant for people to ask for further details.
- xboxnolifes 5y agoIt's analogous because the existence of tests have absolutely nothing to do with the question at all.
- don-code 5y agoI've been learning to recognize when I've been presented with a solution, rather than a need. Often times the solution answers the need, but lacks knowledge of either side effects, implementation time needed, holes in leaky abstractions, or something else that makes it less than ideal. Walking back to the need helps in proposing a better solution.
- tarsinge 5y agoI personally hate when that happens because usually I really want to do X for good reasons. In the end the people asking got help on troubleshooting their specific problem, but the question is still unanswered (or answered by “You don’t want to do that because you’re a beginner”).
- patrickthebold 5y agoI'm the opposite. I often catch myself asking about Y and then needing to back up and ask about X. I even know the problem by name and can't help (occasionally) asking the wrong question.
- tarsinge 5y agoI don't disagree, but then the question should be phrased that way, or it should be mentioned than there may be better way for generic use cases but the original question still answered.
- shawnz 5y agoIf you are so unfamiliar with X that you require the advice of experts to implement it, then how can you say so confidently that the reasons to do X instead of Y are justified, even though those experts disagree? If it's really true that the conventional wisdom about Y is just wrong, and X really is better in some cases, then it will be a long process to get all the experts to reconsider their assumptions, requiring battle-tested proof, and that probably won't happen in a single SO thread.
- tarsinge 5y agoI'm not unfamiliar with the problem space and why I want to do X, I'm just looking on implementation details. If the question was "How should I solve that problem? Should I use X?", then sure "use Y instead because it's a better practice" would be a valid answer.
- kosievdmerwe 5y agoReminds me of the time I asked "How can I do this Python feature in one-line because I'm writing a to-one-line Python transformer". Still got idiots replying that I shouldn't be doing what I want to do in one line.
- CoolGuySteve 5y agoThat may be true but it often ruins StackOverflow as a repository of answers. There’s nothing worse than actually needing to do X only to find a StackOverflow page where 10 different answers give 10 different Ys. Or when X needs to be done but instead all the comments hector the question with useless criticism.
- shawnz 5y agoIf a subject matter expert thinks that people asking for X are falling victim to the XY problem, then I want to hear about it before I go down the mistaken road of implementing X. If there truly is a circumstance which makes X the right solution, then that might warrant a new question being posted with the additional context to make that so. But I suspect it's much more often the case that the asker is simply being stubborn and doesn't want to change their plans.
- CoolGuySteve 5y agoBut the new question almost always gets closed as a dupe in spite of clarification.
- shawnz 5y agoYes, I could agree with you there. I'm not going to defend the stickler moderators on there (just look how they shut down the interesting comments on the top answer).
- cperciva 5y agoYou seem to be under the impression that people answering questions on SO are subject matter experts.
- robinson7d 5y agoYou’re correct that they often aren’t, but all the same I find it amusing to read this comment attached to a StackOverflow link where the exact person who suggested “gimme gimme gimme” and the implementer both answered. Obviously not the ones making the “why are you $X” comments in this case though.
- bjowen 5y agoThis is also why the canonical answer of turning it off and on again is a meme.
- staticassertion 5y agoThe people who answer Y without addressing X are far more annoying and detrimental than the people asking X. If you see a likely XY problem, answer X, then explain why they might want Y, and then answer Y.
- whatshisface 5y agoThe XY problem in theory: An expert with broader knowledge than you realizes what you really should be asking. The XY problem in practice: Someone doesn't know the answer to your question so they randomly choose a response from the ten things they do know. Also: If we're calling it the "XY problem," does that make it mansplaining? (XY? Get it? Sorry.)
- shawnz 5y agoIf someone only has a tangential knowledge of the problem, would it be better if they just don't give their input at all and simply leave the thread empty? Non-experts contributing their opinion doesn't take away space from the experts to answer it properly. If the advice is really that bad or uninformed, then it should just be downvoted. That's not really related to the "XY problem".
- whatshisface 5y agoOn stack overflow, having several tangential non-answers will make the question look well-answered, potentially misdirecting the real expert away from it by creating a false impression.
- deleted 5y ago[deleted]
- kasabali 5y ago> Non-experts contributing their opinion doesn't take away space from the experts to answer it properly. Ever heard of a thing called signal to noise ratio?