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


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.


  1. 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.

  2. 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.

  3. 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."


  1. How do you deal with questions that fit this description?

  2. Do you enjoy downvoting bad questions? I sort of do (but I make sure to explain why). Be honest.

  3. 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?


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.


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
share|improve this question
It might be important to recognize that PHP is not exactly a well-liked language, and that "targeting PHP devs early" might help change it into something better in the long run. –  Wug Sep 12 '12 at 20:13
Can you give some examples of questions like this? –  ɹǝʞɐʇıɥʍ ʍǝɹpuɐ Sep 12 '12 at 20:14
Do you have any examples you can point to? –  user146551 Sep 12 '12 at 20:14
I bet many of these downvotes come from the infamous PHP chat room =) –  jadarnel27 Sep 12 '12 at 20:15
Everyone was a new programmer. But not everyone demands all the code to be delivered to them on a plate hidden behind a scrag bush –  random Sep 12 '12 at 20:17
Have you got any statistics to compare relative down-voting behaviour across tags? I assure you I down-vote bad questions regardless of tag, I am non-discriminatory like that. –  Martijn Pieters Sep 12 '12 at 20:18
This question makes a lot of assumptions. I think you'll have to justify some of them before we can have a constructive discussion. –  Pops Sep 12 '12 at 20:19
Have you considered that PHP is pretty high on the list due to the relative competence of the questions/answers provided rather than a general hate of PHP. All languages have their -10+ voted questions. However, if the average quality of an q/a then can't you expect more downvotes; for whatever reason. –  ben is uǝq backwards Sep 12 '12 at 20:31
You sure picked five insanely hard examples to defend...good on you for trying to stick up for them, but I doubt you'll get traction with this question if you don't find better examples. –  user7116 Sep 12 '12 at 20:32
Aaaand 4 of the 5 questions as examples are now closed. –  Daniel DiPaolo Sep 12 '12 at 20:38
@DanielDiPaolo: what a shock. I guess I'll have to search for others. Even the instagram one, which I'm sure would have at least been answered if it had been asked about python or C#. My point wasn't that these were great questions that didn't deserve criticism. It was that the kind of criticism they got doesn't help at all. –  Wug Sep 12 '12 at 20:42
...Because PHP. –  GEOCHET Sep 12 '12 at 20:54
@PeeHaa Ooooh, I'm telling! –  jadarnel27 Sep 12 '12 at 21:03
@Wug PHP has an ingrained culture of developers who are not willing to put any effort in. Some of these are new developers asking dumb questions in the same way that everyone did occasionally, but far more of them are repeat/serial offenders. You can tell the (dare I say it?) real developers who show up in the PHP tag from a mile off. They ask questions with code samples. They post actual error messages. They use descriptive question titles. They don't ask you to spoon feed them. They read the answers properly before saying "it doesn't work". –  David X. Random Sep 12 '12 at 21:40
@Wug ...but my (not very well expressed) point is that those people, for the most part, get what they deserve. From my observations as someone who roams the purple hills of the PHP tag, brand new users who ask bad questions get "Welcome to SO, please read the FAQ/how to ask pages" comments and the like, and do not get the instant influx of down/close votes. Repeat offenders, however, do not get the same treatment. And those people don't learn, either - they inevitably get banned from asking questions and wind up in PHP chat, asking the same poorly researched RTFM questions. –  David X. Random Sep 12 '12 at 21:52
show 29 more comments

closed as not constructive by jmort253, Toon Krijthe, Rory, jonsca, ChrisF Sep 14 '12 at 11:28


5 Answers

To the extent that PHP gets more downvotes than other tags, I think it can be easily explained by the proportion of inexperienced users asking bad questions, most of which could have been answered by a quick search.

The default state of public internet sites is useless garbage. Sites that aren't garbage are constantly trying to go back to being garbage. They want to be garbage, the law of internet gravity pulls them towards it: it's their natural resting state. Countering this downward force and preventing sites from becoming garbage requires the constant exertion of moderator energy (M) along an opposing vector. If we start making exceptions to the site's standards, it's only a matter of time (and not that much time) before the weight (W=N+T+S) of the noobs, trolls, and spammers brings it down.

If the site is going to keep the experts who provide the answers interested it must constantly work to maintain some quality standards. If some people can't handle negative feedback, that's their problem. They will not be missed.

At least I have chicken

QED, no sympathy for bad questions.

share|improve this answer
what the f*ck am I reading lol edit also, the post isn't about surrendering and becoming garbage. It's about long run working to make the PHP development community not as much of a steaming heap as it currently is. Also +1 for the very informative diagram. –  Wug Sep 12 '12 at 22:54
This is the most comprehensive theoretical explanation of the Internet that I have ever read, and I predict it will one day be taught in classrooms. In the interest of scientific clarity, however, you should explain in more detail what the brown smeared segment in your illustraion represents. –  Pëkka Oct 7 '12 at 6:02
add comment

Not exactly sure what you are trying to achieve with this post, but you seem to think people that are following the [php] tag are more willing to downvote questions. Or you notice that [php] questions often get lots of downvotes.

Well as a follower of the [php] tag (among other tags) I can tell you the PHP tag produces just so many crap. And if a question is crap I really don't mind to downvote it without any remorse. I don't think I get a particular good feeling about downvoting often, it's the opposite. It makes me a little sad because of the fact there is so much crap that deserves a downvote.


A downvote is not an action of hostility. It is an action of housekeeping / quality assurance.


Although I do agree with you that a comment is the nice thing to do, but you have to keep some things in mind:

  • SO has chosen to NOT make this mandatory. I.e. any user may or may not add a comment when downvoting. This is the way SO wants it to be. You may agree or not, but the fact is: Comments are not mandatory for downvotes period.
  • Even doing "the right thing" and comment when you downvote. OP still wouldn't like it in some cases and goes on a downvoting spree to "get back". Even when both the comment and the downvote are justified
  • Some downvotes should be clear to OP without any explanation if they only would have taken the time to: Read the faq, read the How to ask page or plain simple common sense.


I'm all for correcting of understanding of a language. That is if the misunderstanding is not something OP could have simply found out by reading into some documentation him/herself. Or when OP doesn't just give some set of requirements and yell canihaztehcodez.


100% agree. When there are dupes close vote as dupe. However when there are 10.000 exact dupes already to be easily found on SO I say downvote and close as dupe. And after it is closed delete it. If there are already 1000s dupes it shows a lack of research of OP (which imho deserves a downvote).

So now to your questions:

How do you deal with questions that fit this description?

Downvote when they deserve it without even blinking with my eyes (yes I'm an ice-cold downvoter) :) And close vote if it cannot be salvaged. Leave a comment if OP could fix it and add it to my list to check later for improvement.


No it makes my a sad sad panda.

Since PHP seems to specifically exhibit this issue more than other topics

PHP is a easy language to start in "coding". Hence everybody just starts doing stuff without reading any documentation, without doing any research. Besides this fact there will always be lots of people trying it out (e.g. new users). And besides this [php] has a nice community who tries to keep it tidy / tries to do housekeeping. Which is a good thing imho. Basically [php] attracts a lot of crap (I think more so than most other tags) and the fact that you see a lot of downvotes makes two things clear:

  1. php produces crap
  2. the community around the php tag are serious about cleaning op SO


There are a lot of terrible tutorials on the web which is a serious problem for PHP. THe ultimate source for PHP is the official manual which is maintained by the community and is a very good resource on most topics. Also there is another community driven resource here called PHP: The Right Way.

Since you also have a tl;dr:


Crap questions should get the downvotes they deserve. There is no bias for [php] only for low quality posts.

share|improve this answer
Optimally, you'd be 100% correct, but if you were 13, and you asked a question, and it was downvoted to like -6 in 3 minutes and nobody posted anything explaining why, would you see that as hostility? This post is calling attention to a problem that seemingly extends far beyond SO (the fact that much of php development is subjectively crap). I'm trying to point out that the way to transform the perpetrators of said crap into something less crappy probably doesn't involve alienating them (intentionally or otherwise) and that if PHP is to be considered not crap, real effort is probably needed. –  Wug Sep 12 '12 at 21:23
If you are 13 you are not allowed to have an account on SO. Even if 13 year olds were allowed to make an account on SO I wouldn't change my habits one single bit. If a question deserves a downvote it gets a downvote. Whether it is from a 13 year old, some php guru or some hot chick. It gets what it deserves. When people ask their first question they have to tick a checkbox stating they have read and understood the "How to ask" page. Which in most situations should prevent spitting out crap in the first place. –  PeeHaa Sep 12 '12 at 21:26
You can post without having an account. –  Wug Sep 12 '12 at 21:28
Either way I just found out you are allowed to signup from 13 years old. MY point still stands. Why would the community not use the tools the have because someone is young? Should we just let the entire community go down the drain because we may hurt somebody's feelings? –  PeeHaa Sep 12 '12 at 21:30
I think your opinion of how to help the community differs from mine. I understand that downvotes help make a point, but I co-assert that explanation of opinion is a much more concrete way to help. It's tedious helping newbs like this, but keeping a watchful eye for untrained developers and responding accordingly with General Known Good Advice and/or links to Known Good Resources such as, stackoverflow's PHP chat, or other places talented PHP devs congregate, will help them learn by example. Nobody said fixing the PHP community would be easy or fun. –  Wug Sep 12 '12 at 21:37
It's ok if you have a different opinion. It's a free country (unless you are from the USA ;) ), but judging on the voting in this thread the community doesn't really agree with your opinion. Again this is also fine. Still a free country (unless from the USA). –  PeeHaa Sep 12 '12 at 21:38
Have you heard about quantum romneyism? :D… –  Wug Sep 12 '12 at 21:39
@Wug Looking it up now :) –  PeeHaa Sep 12 '12 at 21:42
Just wanted to highlight this question asked earlier today, which sort of highlights the main reason Stack Exchange doesn't make comments mandatory on downvotes. –  jmort253 Sep 13 '12 at 3:57
add comment

Stack Overflow is a question and answer board, not an instructional site to teach people how to program. It's not that we enjoy downvoting; we are fixing the signal-to-noise ratio for the site.

share|improve this answer
Speak for yourself. I thoroughly enjoy issuing a well-deserved down vote. :p –  Andrew Barber Sep 12 '12 at 20:21
If you want to fix the S/N ratio, use the close button, not the downvote button. –  Wug Sep 12 '12 at 20:25
@Wug Both are tools we have that we can use. May I suggest it's our decision when to use either (or both)? For example, I'm strongly considering down voting this question, but I would not consider voting to close it. –  Andrew Barber Sep 12 '12 at 20:26
@AndrewBarber: Downvotes are different on meta. I know I'm playing the devils advocate and that this question will be downvoted and I don't care. Someone should do it now and then, its good for you. –  Wug Sep 12 '12 at 21:00
@Wug Actually, my down vote here would be for exactly the same reason as on many of those I do on Stack Overflow; lack of proper research. –  Andrew Barber Sep 12 '12 at 21:01
Not sure what you mean by that. Perhaps you mean my brief eyeballed collection of data for 4 or 5 tags? I'll be updating this with a significantly more in depth set of metrics later tonight, generated from the API via a script. Or maybe you mean the fact that the questions really are bad? That's kind of the point of my question. Perhaps you missed a paragraph? –  Wug Sep 12 '12 at 21:05
add comment

How do you deal with questions that fit this description?

Downvote and close them, with an explanation of course and a "summer of love" appropriate welcome comment. This will hopefully teach the asker that the type of question they've asked is not a good fit for StackOverflow and improve their behavior in the future.

You are not providing the user a service if you don't do this, in my opinion. Eventually they'll come across users who will take this action, so the sooner they are taught the correct type of question to ask and how to ask it, the more they will get out of the site, and the more valuable they will be to the community.


I enjoy improving the quality of the site, whether that's through downvotes, closing questions, editing questions, or answering questions. So with that in mind, yes, I do enjoy downvoting bad questions because I hope it will ultimately improve the quality of StackOverflow.


Not sure because I'm not a PHP expert. But in the and tags we have similar issues with new users. I always direct them to MDN. I'm sure there's a similar resource for PHP out there.

share|improve this answer
@OP contains pretty decent information for any user. –  PeeHaa Sep 12 '12 at 20:52
It's been claimed that the javascript and jquery tags do not suffer from this bias as much as PHP does. I haven't checked this and I'm not going to until later, but why exactly is it that new PHP users tend to get singled out more often? perhaps there are simply more of them? –  Wug Sep 12 '12 at 21:09
@Wug saying "I'm not sure if there's a bias yet, but why does the bias exist?" doesn't make much sense –  Brad Mace Sep 13 '12 at 14:32
@Wug seeing as it's presumably mostly fellow PHP users doing the downvoting and closing, I don't really see the problem? –  Pëkka Oct 7 '12 at 6:25
add comment

Almost everyday there is a new question posted about:

  • a basic error with string concatenation
  • a syntax error in a query because the data was not escaped

These questions already have lots of duplicates, and it is very easy to find the answer by just reading the PHP manual here and there

Note: YES, I do know mysql_* functions are deprecated. But so many beginners use them that they should end up on the help page for mysql_query if only they did some simple research first.

So, my point is: I don't see a problem downvoting and closing very basic questions whose answer is easily found just by reading the PHP manual!

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged .