I recently asked a question about how PHP can be improved: What features would you like to have in PHP? which was promptly closed as "not constructive" - even though I specifically asked constructive questions and provided guideline to bring constructive answers - and got some too.

On the other hand, we have such questions as:

Is there anyone who has used Python/Ruby and PHP for a long time and still prefer PHP?

Why is php considerd the darkside of programing?

Why do you hate/love PHP

I've re-read the guidelines and I am still wondering - can somebody explain what definition of "constructive" and "subjective" being used here so that question asking for specific opinions of people to improve X is closed as "subjective" but question soliciting subjective rants on hating X is perfectly fine? Could you provide me an example of how could I have written my question so it would be in accordance with the guidelines?

I tried to (1) inspire answers that explain “why” and “how” (2) to have long, not short, answers (3) have a constructive, fair, and impartial tone (4) invite sharing experiences over opinions (5) insist that opinion be backed up with fact and (6) have more than just mindless social fun. Obviously, I failed. Moreover, I still fail - I fail to see where exactly my failure was. Could you please point it out to me?

  • I have a similar question.
    – tshepang
    Dec 18, 2010 at 1:20
  • Thanks for pointing out those quesitons... I've voted to close them. As Mark has commented, sometimes questions just fall through the cracks.
    – Walter
    Dec 18, 2010 at 2:40
  • OK, glad to see this re-opened. I hope this experience doesn't negatively affect your participation in Programmers. We're all humans here and can make mistakes!
    – Macneil
    Dec 18, 2010 at 14:26

3 Answers 3



The following is general advice given no context about the question other than the question body itself. It turns out you, of all people, would actually be helped by the question, so assuming you edit the question to reflect why it'd help you (i.e., you explain who you are), it should (and most likely will) be reopened.

They aren't perfectly fine, and trying to base the argument for why your question should be open when similar questions remain open is an exercise in personal frustration. The site is moderated by other users who do not catch every bad question that slips through the cracks, but calling attention to those questions does let people handle them.

The six guidelines for good subjective questions are what defines a good, constructive, subjective question. Your question and the questions you link fail to meet those criteria.

One additional point to mention is that questions on Stack Exchange generally require a need to be satisfied: on Programmers.SE, that need is for the question to help the asker and other visitors do their jobs better. When someone asks a question, it's presumed the answer to the question will directly improve and/or solve the problem that person is having.

Unless you happen to be one of the developers of the Zend Engine or a core PHP developer (which honestly, I highly doubt you are), there is nothing about listing all the reasons why you and others hate (or love) PHP—or what you think the language can do to be improved—that helps anyone do their jobs better or solves a real problem: it's pointless commiseration about something you don't like. If you're looking for a place to vent about whatever annoys you at the moment, this is not the site for that.

To that end, all of the questions fail point three, they start off with requesting a non-constructive and partisan tone (what do you hate about a language isn't constructive), they fail point six; they're nothing more than mindless social fun. From the answers on your question in particular, it failed the rest of the points as well. Nobody is explaining why, they're all short answers, and they're wrote opinions not backed up with facts or experiences.

If you think you can improve your question so that you can elicit answers that are useful to other people and help people do their jobs better, by all means edit your question so that people can vote to reopen it.

  • 1
    It so happens I am one of the core PHP developers. From my nickname it's quite easy to guess which one :)
    – StasM
    Dec 18, 2010 at 2:18
  • 3
    @StasM that piece of information is crucial and should be added to the question. I'd personally vote to reopen if you mentioned that in the question itself as it changes the question from "let's complain about PHP" (a question of which we have many copies) to actually helping to solve a real problem. You're likely to get far more useful answers, as well.
    – user8
    Dec 18, 2010 at 2:25

I think your post was closed too soon and there are many other related posts with good answers. I was surprised to see it closed.

I have a theory that maybe your question could have been more polished and on point, and that it was only surface-level reasons why it was closed. The list of examples might have put the emphasis of your question off track, because they were all examples of what you wouldn't like to see, which might have left in the reader's mind "oh boy, these are the kinds of answers this will get, let me close it fast." The word like "wish" might have also made it seem less engaging.

I think you should try again. But next time, be sure the title is grammatically correct: "What features [would] you like to have in [the] PHP language?" Or, better: "What features are missing from PHP?"

  • So the problem was my grammar is bad? I admit, English is not my native language, so I tend to skip an article here and there. Maybe on English.SE that would be a valid reason to close the question, but in Programmers?
    – StasM
    Dec 18, 2010 at 7:07
  • No, I don't think it was just the grammar... but it was a sequence of flags that collectively gave people a worse impression than deserved. [Grammar, word use, negative examples, scope.]
    – Macneil
    Dec 18, 2010 at 13:39

It seems from your own guidelines that you restricted answers too much. You at different points ask for something that does not change it into a different language, however you asked that it make changes to the language. You then go on to ask for broad changes rather than nitpicking bugs. This would, by necessity, fundamentally change the language. A better question might be one asking for changes to the model provided by PHP, rather than asking for changes for the language. Next time, try to give some sort of context as well: Are you attempting to create a better version of PHP, or are you just looking for its limitations? Anyway, that's why I think your post was closed. It may have just been a misunderstanding.

  • You can perfectly well add stuff to a language without changing it into a new one, it happened to PHP many times, from 4 to 5, from 5 to 5.3 - OO, closures, namespaces, and stuff beyond that in trunk - it is definitely possible. I just wanted to keep it practical - no use to discuss things that can never happen (unless somebody forks the language completely - which would be pointless since they could as well use one of the many other ones).
    – StasM
    Dec 18, 2010 at 7:14

You must log in to answer this question.

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