I have to say that I do sympathize with the overall sentiment of this post. This is a genuine problem, and I don't really know what the solution is, but I do have a fair idea why it is happening.
Stack Overflow has two (somewhat opposing) goals:
- To get people quick answers to their programming questions, and
- To serve as a repository for useful programming knowledge.
Most of the veterans here would probably agree with me that there should be a greater emphasis on the second goal, which requires questions of a more general naturequestions of a more general nature, and answers that are more broadly applicableanswers that are more broadly applicable to a greater number of programming people.
So why doesn't this happen more regularly? In the early days of Stack Overflow, there were mostly semi-professional and professional programmers on the site. Most of the participants could be counted on to behave in a professional manner and exhibit some intellectual curiosity, and they all understood what the site was about, and what Stack Overflow was trying to accomplish.
Then the avalanche of newbies came.
The problem, in a nutshell, is this: vague, obscure, under-specified questions from people who lack basic knowledge of their craft.
And it's our fault.
You heard me. We put up fences like "What have you tried," discourage canonical questions, and remove the "Too Localized" close reason. We pander to all manner of questions that require extended investigation of the OP's highly-specific problem, and encourage people to crowdsource their impossible problems. We're pushing the entire site towards being a troubleshooting tool, not a knowledge repository.
Many of the new users to Stack Overflow do not have the same goals that the professionals do. All they want is to solve their problem, and many of them want this without having done the basic research necessary to make their question viable. They have no interest in making the title of their question searchable, or making their question interesting to others.
Oh, sure, we have close reasons that are supposed to prevent this, like "questions asking for code must demonstrate a minimal knowledge of the subject matter," or "questions about problems with code must describe the problem and include valid code to reproduce it." But what I think we're not saying more often is "y'know, you really ought to show some self-initiative and read a book or two first before coming here, so that you have at least some fundamental knowledge."