「質問していいですか」と聞かないで

私がよく見ているオンラインのチャットルームでは,ときどき誰かが入ってきてこのようなことを言います。

Hogehoge123:

Java 分かる人いますか?

これはいろいろな意味で良くない聞き方です。 この質問は,実際にはこんなことを言っているのです。

Hogehoge123:

Java 分かる人で,もしかしたら実際のところ Java と関係ないかもしれないし, Java を全然知らない人でも答えられるかもしれない私の問題を調べるのに専念するつもりがある人はいますか?

この質問は,思っているよりはるかに多くのことを要求しているのです。 本当に知識のある人々は,このような質問には答えようとしないでしょう。

そう言った聞き方とすると、他の人に責任を取るように要求してしまいます。 他の人の能力が信頼のおけるものかどうか疑問視していますし、 本来答えてくれるかもしれない人が無視してしまいます。 私は一度も使ったことがない言語やライブラリに関する質問に回答することがよくありますが, これは質問の聞き方が良く、答えが(プログラミング的に)常識的なものだからです。 常識的というと、その言語を知らなくても、一般常識でカバーできるということです。

あるいは,その質問はこのように見られてしまうかもしれません。

Hogehoge123:

私には Java に関する質問がありますが,答えられそうな人がいなそうなら面倒くさいのでちゃんと言葉にしたくないです

これは怠惰なだけです。 そちらが自分の問題を解決するために努力したくないのなら,なぜこちらが努力しなくてはいけないのですか?

解決方法は,質問してもいいか聞く代わりに,ただ質問をすることです。 そのチャンネル、あるいはフォーラムを開いておいて時々ちらっと様子を見るだけの人は, 「質問してもいいですか」という質問にはなかなか反応しないが, 問題の説明をちゃんとすれば興味を持って答えてくれるかもしれません。

つまり,まとめると, 「Java 分かる人いますか?」 と聞くのではなく, 「(問題)を Java で解決するにはどうすればいいですか? 関係しそうなことは、(関連情報)です」 のように聞いてください。

今のところは英語版しかないですが、 似たような問題には,The XY ProblemNo Hello があります。 How do I ask a good question? も読んでみるといいでしょう。 時間があれば How To Ask Questions The Smart Way もご参考までに。