Somebody else has to have noticed that questions that get hit by the nuclear downvote warhead are usually related, whether directly or peripherally, to PHP.
I'd assert also that part of this downvote storm happens because PHP is often people's first language, and is often self-taught in early stages. Furthermore, I'm certain that there is a better way to deal with such questions than downvoting them into oblivion and leaving unpleasant, sarcastic comments.
The best way I can think of to deal with questions like this would be to immediately recognize that you're dealing with a question with a known fundamental flaw: the writer's broadly incomplete knowledge of the language, and of programming in general. You might be thinking that that statement is a little harsh, but anecdotally, I started using PHP when I was about 14. If I'd known SO had existed then, I'd probably have earned myself a posting ban within less than a week with all of the low quality crap I'd have posted. PHP was my second language, and I was using it long before I had any sort of structured programming education. I'd imagine that a significant portion of early PHP users, such like those who ask questions like those currently being discussed, are in a similar situation.
So anyway. Step one is to read the question, and search not only for the problem, which will likely be obvious, but also for The Problem (the underlying misconception or lack of knowledge that led to the asking of the flawed question) which will be hidden between the lines. The second would be to address both problems, with special emphasis on The Problem. A good way to do this might be to keep tried, tested, and well-informed PHP tutorials on hand, as well as recommendations about good style and good practice.
Remember that new developers are like children: the things that influence their early style will create habits that will be very hard to break later; it's imperative, for their future as developers, that they be guided towards good practices that promote structured development and maintainability, as well as readability and safety and testability and a host of other things, and that a lack of guidance will have a similarly destructive effect on their ability to adapt to better practices later.
For what it's worth, it helps to remember that you were all the same way once; guideless and directionless, adrift in a sea of bad practice and sloppy code that if you went back now and tried to read it, it would make you cry blood. I still occasionally run into code I wrote back then and man, it's horrid.
Things to come away from this question include:
- Every time you downvote a question without explaining why, god teaches another 14 year old that PHP exists but doesn't explain how to use it
- Constructive criticism is good
- People can learn if you teach them, even those with really dumb questions
- You were a noob once too
TL;DR
Excessive hostility during larval stage maims and deforms developers, but proper care cultivates talented ones who don't write code that makes people want to vomit.
Assertions
When I see a dumb question, even if I don't downvote it, I usually comment on it, trying to say something constructive that might explain what's missing or why other people are downvoting. I think everyone should explain themselves if they downvote something, it makes correcting the problem much easier. You can only please the masses if you know what they want.
When you identify a question asked by a fledgling programmer with a flawed understanding of a language, you should put a little effort into correcting their understanding. It can make a big difference in their output.
Those who can, if you see such a question, consider searching for a duplicate and voting to close, rather than downvoting it. If applied frequently, this method will teach users to search for their question before they ask it, especially if you add a comment like "You should search for your question before posting it because chances are it's already been asked."
Questions
How do you deal with questions that fit this description?
Do you enjoy downvoting bad questions? I sort of do (but I make sure to explain why). Be honest.
Since PHP seems to specifically exhibit this issue more than other topics, what are some objectively good PHP learners' aids; tutorials, practice guides, examples, etc?
Examples
- https://stackoverflow.com/questions/12393798/input-text-clickable [CAOP, prose clearly indicates young developer]
- https://stackoverflow.com/questions/12393873/how-to-add-a-check-username-and-password [CAOP, foreign developer]
- Convert plain-text link to HyperLink in PHP [open, simple issue, crappy answer, poor explanation of downvotes in comments]
- https://stackoverflow.com/questions/12394289/trouble-understanding-php-template-concepts-not-engine-specific [CAOP, "first web app", new developer]
- https://stackoverflow.com/questions/12391980/simple-instagram-impossible [CAOP, not a horrible question, no downvote explanation, presumably simple solution]
CAOP stands for "closed as of posting", i.e. the question was open when I included a link to it, and has since been closed.
Evidence
The accuracy of my claims of bias has been questioned. Rudimentary statistics, considering ONLY THE FIRST PAGE of each tag (statistics over wider periods of time may vary)
NDQ: Number of Downvoted Questions
RDUQ: Ratio of Downvoted to Upvoted Questions (treats each question as 1)
TD: Total Downvotes (on all downvoted question)
Tag: NDQ: RDUQ: TD: Notes:
PHP 7 3.5 25 subject in question. many downvoted questions.
Python 2 0.2 4 random language tag. opposite trend.
multithreading 4 0.5 22 random niche tag. a few really bad questions.
mysql 8 1.0 13 related tag. 5 of 8 downvoted are also tagged PHP