4. Enthusiastic X-Y-Problem solvers. You asked about X but the replier is an expert in Y, so he asks “what problem are you really trying to solve?” Hoping to steer you to Y so he can shine. No, sorry. I really do want to just solve X thankyouverymuch.
Agreed...somewhat. Sometimes there is a hard XY problem, and sometimes not. People who care about interacting with other people like actual people would, and have the time for it, would say "I think you may have this XY problem for these reasons. But I may not fully understand your situation. Thoughts?" And then be open to the possibility that the asker is allowed to discuss X even if Y would be an OK solution.
XY Problem in an Ideal world: Consider that Y, not X, may be the best route. But feel free to respond and discuss how your problem relates to X and Y.
XY Problem in actual forums: You're wrong. X is bad, you should do Y. X is forbidden knowledge. You're not even allowed to ask how X compares to Y. Y is axiomatic.
In the ideal world, the XY problem is frequently novel to the group. The "feel free to respond and discuss" is something that has time consuming overhead in asynchronous environments. If one was to ask me an XY problem in person, that's something that can be dealt with in a way that has dense communication.
In the forum, the forum has likely been there long before the person posing the question. Often the people in the forum have seen that exact XY problem many times before and it is necessary for the person asking the question to demonstrate additional knowledge to get past the "yes, I know this is an XY problem and these are the constraints I have" to get it to be a novel problem once again.
This isn't saying it is ok to be a jerk, but it is important for the person asking the question to be aware of the history of the community and the forum.
Often this is best done with lurking for a while before asking questions (this was the norm on Usnet - https://www.24hoursupport.com/netiquette-for-newsgroups/ "Lurking is the practice of reading the postings in a group for a week or so before posting a message yourself. No one will know you are lurking, and you can get a feel for the types of personalities in the group, what types of things are discussed, and what topics or behaviors are frowned upon.").
I would contend that in many places today, the "join in and participate now" precludes lurking and so it is much easier to run into the stuff that is common knowledge (not forbidden) to the community that the new person hasn't become acquainted with.
Unfortunately it often happens that, even when people lurk for a while, and humor the experts and do the work to show why they really want to talk about X and not Y, they are still shut out. Part of this is tribal - you are an outsider by definition, and you challenged the experts and their dogma, you will now be punished for it no matter how valid your position is. And so you move on and do other things, and the culture of grumpy rigid experts perpetuates itself.
I think it's unfortunately something which has been reinforced by the majority of poor questions. You may legitimately want to solve X, but nearly all of the questions active users see are just poorly researched questions about Y. Attempting to take your X question literally means giving that same latitude to every other question, which increases the volunteer's workload by orders of magnitude.
I'm not sure how to best get around this, other than making your X question extremely clear, and describe why Y is not what you're looking for.
This speaks to discoverability issues more than it speaks to generational gaps.
As a really specific example: if people don't know that certain generations of Intel microprocessors calculated sine(epsilon close to 0) incorrectly, and ask about it, it really is incumbent on the answerers to not be a-holes.
Extrapolate out and consider various IRC channels. Python has massive documentation. A common answer is to point people to the docs, as they are large, and to encourage reading the docs. This is helpful and encourages discoverability. C, on the other hand, is an almost incomprehensible mess for discoverability. So a newbie asks a volunteer channel in IRC about what may be causing a segfault simply because the newbie has no sense of the tooling to help them discover the issue. Newbie gets berated (I have both experienced this and watched this happen). C channel is therefore toxic for newbies because it pushes them down arbitrarily, Python is good because lifting newbies up.
Common thread? Make it really, really easy to use tools, have copious amount of well-described examples organized in a sane way, and crosslink definitions and concepts.
It helps to provide all the things you've already tried to fix the problem. It helps the answerers not waste their time, and tells them more about the actual problem based on what you tried and how the problem responded.
Are these people really trying to be disingenuous or does the question missing context? Often asking for the really problem reveals more information and allows the answerer to be more helpful
The problem is that the XY Problem is a classic beginner mistake and most SO questions are beginners who didn’t even consider Y, so maybe 1% of the time it doesn’t apply. And to those people, it is helpful to explain why you are stuck with X as it will likely clarify context that will help people answer your question.
Have you ever scrolled through Stack Overflow's new-question queue? It's quite easy to separate not just beginners from advanced users but also beginners who have done their research from beginners who have put less effort into their question than you put into reading it.
Maybe it seems rude or condescending to address a poorly formed question, but I'm not sure what else you can do since you have to realize that low effort questions also have a cost.
For example, have you ever tried helping someone where you have to ask a 20 questions just to glean enough info just to help them? You can see this on SO all the time.
Sure you can, beginners never research their questions and they don't give the right context.
Beginner question: "How to make a webserver using bash?".
Non-beginner question: "How to make a webserver using bash? I have this weird embedded system and it is missing SDK, http daemons or programming languages, but somehow comes with coreutils and fully-featured bash 5.0.17. And I really need to serve a single static webpage off it"
The first question will get X-Y answers like "here is how to install apache" and "you probably want to make CGI script instead, here is how you do it". The second one will get the interesting answers.
Stating from the get-go that the choice of X is beyond your control would help though, assuming that you’re already aware that you wouldn’t have the problem if you’d use Y instead of X.
This is joked about often regarding SO, but my experience is, that most of the time the users actually have issue Y, and were helped, and it’s only me who landed there via search engine and has issue X that is (wrongly) in the title, who is now not helped :/
I was just complaining about this very thing on twitter:
One time my car wouldn't start at an Mc Donalds, and I asked inside if I could leave my car there while I went and got jumper cables. I didn't want them to tow my car while I was gone.
The person behind the counter didn't know if they would tow my car or not but told me the best way to get around was the bus, and here is why public transit was a better way to get around, and so on.
My mistake was having a car at all.
It's quite common, especially when dealing with tech support and the like, who expect that the customer has no clue what they're asking about (and, to be frank, in most cases that assumption is probably right).
I call this the "reverse XY problem." It gets so bad sometimes that you could completely frame the problem around X, defensively excluding Y from the possibilities, and still get a bunch of responses about Y.
SE users just love to call out 'XY problems', it's like declaring 'strawmen' on HN.
I asked a question recently along the lines of 'how can I do blah? Or is another way of achieving whatever it was'; response 'this sounds like an [XY problem](link like you can be on SE and not have heard of it)' - I told you both X and Y! Can we just solve my problem whether it's by the avenue I thought most likely or not?
4. Enthusiastic X-Y-Problem solvers. You asked about X but the replier is an expert in Y, so he asks “what problem are you really trying to solve?” Hoping to steer you to Y so he can shine. No, sorry. I really do want to just solve X thankyouverymuch.