Having worked as a freelancer for years, I hope I can bring a useful comparison between working with customers and answering questions on Stack Exchange. This may eventually be redundant with other answers, but I'll try to make my view more illustrative.
Any company, including freelancers, are faced with bad customers—the ones who will spend time jerking about the product you delivered, behaving unprofessionally and trying to screw you and get your work for free. With experience, it becomes easy to spot some of those customers from the beginning of the project, and so you start looking at ways to get rid of those people. Those ways vary from a simple “Sorry, you're a jerk and I won't work for you” to screwing the project to lawsuits to extremely diplomatic ways to explain them that you may not be the best freelancer/company for their project.
When things go bad and you know that it will go even worse, it's easy to throw the customer away by shouting at him by phone or by sending him an e-mail telling that you're fed up with his unprofessional crap. It's much more difficult to remain perfectly diplomatic and professional yourself and lead the customer decide that he should develop the current/next project by somebody else, not because you suck, but for any reason which preferably seem unrelated with your relations between the customer and you.
So why would it matter to be diplomatic? It's not for the customer. You know that this customer won't bring you any money. Actually, he costs you money and make you miserable, and it won't change. But you do it for the image of your company—a disgruntled customer can do a lot of harm, such as posting publicly the e-mail you sent him where you told him that his project sucks.
Stack Exchange is different: here, all we do, we do it publicly. Comments are public. This discussion is public. It's like if all e-mails and all phone conversations with customers were public, so any potential customer could read and listen those and make an opinion about the company.
The quality of questions like I add dynamically dropdown and input fields rows using Jquery or What's wrong about thos code is a good indicator that we don't want those people on Programmers.SE. If they leave angry at our community and never come back, it's not that had. Many of them won't learn how to ask questions correctly, because they simply don't care. They don't care either about the fact that they are also talking to real people, and plz send teh codez and do my homework for me style questions are not particularly polite in the first place.
The problem, instead, is that other potentially valuable users may come to our site, see those questions and the way they are treated here, and make a negative opinion about the community of Programmers.SE. This is where the actual problem lies.
I can suggest two solutions to that.
- Be welcome and polite to everyone, including the authors of plz send teh codez questions.
The issue I can see with this solution is that when this happens, it usually ends up with a discussion. You explain to the person that this is not a good place for such questions, and the OP answers something like: “I don't care about all this meta stuff. Just answer my question.” This could easily lead to not so kind comments and more downvotes.
- Make the question disappear from the home page. What if the rules which make the question appearing on the home page were different? Such as two close votes and one moderator flag from high rep users make the question immediately vanish for users with low reputation?
I think it would not only solve the public image of unfriendliness problem, but also make the content more attractive to newcomers (and Google). Meanwhile, high rep users will still see those partially-closed questions and decide whether they are worth being edited/improved/commented, or downvoted/closed/flagged/deleted.