13

Today, one of the question I asked has been closed as not constructive, but I can't really understand why, since it doesn't ask for opinions, lists and the like. Moreover it's very unlikely to be debated, since it's a very specific and quite hard question.

Thus, I suspect that it's poorly formed, but I can't guess how to improve it: can anybody help me to make it better? I mean, something like this one, that proved to be constructive enough.

edit
The question, in the meantime has been reopened and closed again. To me such question "Are there any documented anti-patterns for functional programming?" looks looks strictly boolean, devoted to intentional learning and objective (since it ask about documented anti-pattern existance), but even if considered as subjective, it should be a good subjective one.

I can't really understand moderator's decision.

Moreover it has been wikified.

edit 2
After this comment from George Stocker I realized that I didn't explained the actual problem well, so I'd try to make the question better replacing the first two lines with

Next month I'm going to work on a new R&D project that will adopt a functional programming language (I voted for Haskell, but right now F# got more consensus). Now, I've played with such languages for a while and developed a few command line tools with them, but this is a quite bigger project and I'm trying to improve my functional programming knowledge and technique. I've also read a lot on the topic: I can use Monads, MonadTransformers, CPS and a few mind-changing other tools, but I can't find any books or resources that document anti-patterns in the functional programming world.

Now, learning about anti-patterns means learning about other smart people failures: in OOP I know a few of them, and I'm experienced enough to choose wisely when something that generally is an anti-pattern, perfectly fit my need. But I can choose this because I know the lesson learned by other smart guys.

Thus, my question is: are there any documented anti-patterns in functional programming? Till now, all of my collegues told me that they do not know any, but they can't state why.

  • If yes, please include one single link to an authoritative source (a catalogue, an Oleg's essay, a book or equivalent).
  • If no, please support your answer by a proper theorem.

Please don't turn this question in a list: it is a boolean question that just requires a proof to evaluate the answer. For example, if you are Oleg Kiselyov, "Yes" is enough, since everybody will be able to find your essay on the topic. Still, please be generous.

Note that I am looking for formal anti-patterns, not simple bad habits or bad practices...

with the rest like the Rachel's edit.

However since the question is locked I can't do such edit by myself.

I'm quite quite sure that, with such carefully crafted and specific answer, no one that cares about the topic (and knows even just a bit functional programming) will ever turn it into neither a list nor a debate.

Thus, again, I ask to open it again and unwikify it so that every one that is able to answer will be incetivated to.

edit 3 Since somebody unlocked the question, I did the edit previously described in edit 2.

I hope that now the question is constructive, because

  • it describes my problem
  • it explicitly states that no list is allowed
  • it describe how to answer yes or no
  • it define the term "anti-pattern"
  • it define the term "documented".

If I'm still wrong, and the question still violates any SO rule, I'd like to know precisely which one and how I can fix it. Otherwise, I would like to see it reopen and with community flag removed, so that anyone that can answer, is incentivated to.

16
  • It's been reopened, so that means some people disagreed with the closure. The unfortunate thing about SO's system is that its really easy to get a question closed, so you may have just run into a sour group of voters. Apr 7, 2013 at 1:07
  • This question is in the gray area between what's constructive and what's not. I'd say the question is probably ok, but a lot of people would disagree. Apr 7, 2013 at 1:09
  • @Manishearth nice post. Still I can't understand why it has been closed again. Apr 7, 2013 at 8:54
  • 1
    It's a list question, that's probably why :/ Apr 7, 2013 at 9:05
  • @Manishearth to me, it looks strictly boolean, devoted to intentional learning and quite objective (since it ask about documented anti-pattern existance), but even if considered as subjective, it should be a "good subjective" one. Apr 7, 2013 at 9:17
  • @gia maybe, but that's not clear from the post. Edit it tp make it clearer (check out the guidelines in the Good Subjective/Bad Subjective post) Apr 7, 2013 at 9:22
  • A note about it being a community wiki, I think it occurs automatically after a certain number of edits to a question (15?). It was originally put in place to stop users from repeatedly bumping their posts with trivial edits to get more attention and rep, and I don't think moderators can remove it.
    – Rachel
    Apr 11, 2013 at 18:05
  • @Rachel take a look here: "Moderators can remove it, when necessary. Once removed, the post will never be given the CW status automatically due to a high number of edits again." I agree with the CW rationale, but in this case I was forced to edit the question to make it better. I've also posted an unfortunate feature request on the topic, to prevent others to get in this situation. Apr 11, 2013 at 18:10
  • To your edit, the post was unlocked because it was locked on a timer right from the start. Notice how it was unlocked a week (to the minute) from when it was first locked. Next, your edit doesn't make the post any more appropriate for reopening, for the reasons given a week ago. The intention of the post is still clearly to result in a list of things. Saying that people should provide a link to a list of things elsewhere is worse, not better. A question that only asks for a link to somewhere else is not appropriate on SO.
    – Servy
    Apr 23, 2013 at 16:59
  • @Servy thanks for the info about timers. I didn't know. There's no list, IMHO, since I guess that the right answer is "NO and here is why..." Only if you know that there is more than one anti-pattern, you can see it as a list question. BTW, if you know such list, please let me know, at least here. I'm just looking for an answer! Otherwise, I think that I stolen already too much of your precious time. Please forget me and my question if you can't answer it... :-( Apr 23, 2013 at 17:10
  • @GiacomoTesio This is a meta question to discuss if that question should be open, not just another place to have your question answered. If you aren't willing to discuss whether or not the question should be open, and aren't prepared to justify your request for reopening (or to listen to the responses to your request) then you shouldn't make the request to begin with. Next, a list is not a collection of two or more things. A collection can contain zero, one, or more things. That there are no things (or one thing) in the list doesn't change the fact that it's asking for a list of things.
    – Servy
    Apr 23, 2013 at 17:14
  • @Servy, I don't want to get trapped again in a debate with you. If "a list can contains zero, one or more things" every single question in SO is a list question. BTW, I'm perfectly ready to discuss with anyone who is ready to read what I write and answer with arguments that can convince me. You are aswering with slogan. I read all your opinion. Ok, you think that this question should be closed and you had your chance to vote it's deletion. Now please, can you let someone else to explain their concerns? I'm sure there are people out there as smart as you that they can help me to fix my sin Apr 23, 2013 at 17:20
  • @GiacomoTesio Quite a few other people have explained this to you as well. It's not like I'm the only person to have contributed here. Also, my commenting doesn't prevent anyone else from replying if they have something else to add.
    – Servy
    Apr 23, 2013 at 17:23
  • @GiacomoTesio As I have said, every question on SO is not a list question because others don't need to be answered with a list, even if it could be. Your question needs to be answered with a list; it's asking to be answered with a list, and that's not appropriate on this site. You seem to be looking for a loophole around the wording so that you can get your list while having the question open. The fact remains that what you want is inherently in violation of what SO allows; there is no way around that. You'd need to change what you want to end up with, which you seem unwilling to do.
    – Servy
    Apr 23, 2013 at 17:25

7 Answers 7

5

Those kinds of questions are tough, but I've occasionally had success by being very specific and clear about the type of answer I want.

The reason why questions asking for a list of answers are frowned upon is because the ultimate result usually ends up being a long list of answers each saying "here's part of your answer", and all the answers are equally correct with no way to definitively answer the question unless you read every single post.

SE's goal is to make it easy to find definitive answers to questions within a topic, and having to read through pages of posts to understand the full answer is considered "not constructive" towards their goal. So questions that ultimately ask "List me all the X" are usually closed quickly as Not-Constructive.

However that's not the same as questions which elicit a single answer which says "Yes, and here's the list" or "No, and here's why", where it is easy to find the "correct" answer. Depending on the scope of your question, it is possible to rephrase the question to make it clear that you want one of those two answers only.

I think your question has a narrow enough scope for this, and is detailed enough about exactly what you are trying to find, so I've made an edit to your post to try and do just that:

  • I added "If Yes/No" bullet points below the question, which usually steers the answers towards being "Yes/No, and here's why" instead of a lot of answers each containing "here's one: xxx"

    Are there any documented anti-patterns in functional programming?

    • If yes, please try to include a complete list of documented functional anti-patterns in your answer, with links to their documentation if possible.

    • If no, please support your answer by a proper theorem.

  • I tried to improve the clarity of exactly what you're looking for by pulling the relevant information about formal anti patterns out of the block quote. Sometimes eyes will glaze over when reading through a block of text, so its important to try and highlight the main points early on instead of expecting people to read a block of text and determine the main point for themselves.

    Note that I am looking for formal anti-patterns, not simple bad habits or bad practices.

    From the linked wikipedia article on Anti-Patterns:

    ... there must be at least two key elements present to formally distinguish an actual anti-pattern from a simple bad habit, bad practice, or bad idea:

    1. some repeated pattern of action, process or structure that initially appears to be beneficial, but ultimately produces more bad consequences than beneficial results, and
    2. an alternative solution exists that is clearly documented, proven in actual practice and repeatable.
  • I removed the extra information from the bottom that was about the Stack Overflow question itself, and not about the question you were trying to find an answer for. That kind of thing is usually best left in a comment or kept extremely short since it's not actually about the question you're seeking an answer for.

It's currently deleted by 4 community members, but as of right now it has 2 undelete votes and I have flagged it to see if a moderator can help us get it undeleted.

It also has 2 reopen votes, and I hope it gets reopened. I think it is a good question after all the edits, and it does a nice job at being clear about the exact definition of what you are looking for, and the exact type of answer you want.

Update:

George has updated his answer to say he deleted the question, which I strongly disagree with, and he's encouraged me to post a copy of my comments in my answer.

Per George:

The question has been closed 4 times, re-opened 3 times, deleted 3 times, undeleted twice.

It's fair to say this is a contentious question. I've gone ahead and moderator-deleted it (a moderator's deletion can't be undone except by other moderators or the SE team) so that it will not continue to yo-yo and divert resources from more productive uses.

And my response:

The deletion does bother me. Two of the deletions were initiated by the same user and the 3rd was you. The question was originally closed as a duplicate. It got edited to explain why it was not a duplicate, and got re-closed as not constructive. It got edited again, then closed two more times with a moderator shortcutting the process by casting the final close vote both times. It's only been around 4 days (deleted for part of that), has received 30 upvotes, and has community members actively trying to get it reopened. It's not a bad question,and I don't think it warrants deletion.

As for if it should be Closed or Open or not, that's a different story. Personally I don't think it should be closed, as I see the current version of the question as clear and detailed enough to avoid becoming a long list of semi-complete answers, which StackExchange considers "not constructive" towards their goal. That is why list questions are usually frowned upon, not because they hate lists. I do not see that question degrading into a forum post full of "here's a bad practice you forgot!" answers.

In fact, the question it was closed as a duplicate originally asked something very similar, and the answer was "No, although there are two exceptions", which leads me to believe the most likely answer to this question will be a "No and here's why I say that" answer. (Also, I don't think that question should have been deleted either. It has 3 reopen votes, and provides some very useful information). But that's just me. If the community thinks it should stay closed, so be it.

But I think deleting a +30/-10 post within a few days of it being posted just because you don't want to deal with the discussion it creates does the community more harm than good, especially when there are users actively trying to understand why it got closed so they can fix the problem and get it reopened.

So regardless of if the question gets reopened or stays closed, it should not be deleted so quickly. It's only a few days old, has 30 upvotes, and the person asking the question is actively working to try and understand and fix the problem, and get the question reopened.

14
  • 4
    The question is still a list question. Your edit has not fixed that. In fact, you only made it that much clearer that it's a non-constructive list question by adding: "Please try to include a complete list of documented functional anti-patterns in your answer". That is a textbook "not constructive" question.
    – Servy
    Apr 9, 2013 at 15:21
  • @Servy The reason why questions asking for a list of answers are frowned upon is because the ultimate result usually ends up being pages full of answers each saying "here's part of your answer", and with all the answers being equally correct. That is very different from a single answer which says "Yes, here's a list of all of them:", where it is easy to find the "correct" answer. When people say "list questions", they are referring to the former, not the later. In fact, I've seen many questions get turned from lists of answers into a single "canonical answer" to avoid closure and deletion.
    – Rachel
    Apr 9, 2013 at 15:25
  • 2
    They are both list questions, as they both have all of the same problems. Putting all of the items of the list into a single answer doesn't make it not a list question. The question is highly subjective as to what should be included in the list, the list's contents will change over time, thus requiring lots of time and effort to keep up to date, it is a question that will "solicit debate, arguments, polling, and extended discussion" (it literally has everything, that makes a question not constructive).
    – Servy
    Apr 9, 2013 at 15:27
  • @Servy I guess I just have to disagree with you then. The OP was very clear about the fact he is trying to find out if there are any documented formal anti-patterns for functional languages, and was very clear about his definition of both "documented" and "formal". I don't think there's a lot of room for "subjective arguments" there.
    – Rachel
    Apr 9, 2013 at 15:33
  • And we don't close as not-constructive based on a mental regex that matches a few keywords. We close based on the fact the post will most likely not result in a constructive answer, and SE considers many answers each containing one piece of the full answer to be "not constructive" towards its goals. That is the reason why "polling" and "list questions" are frowned upon. In the case of this question as it is phrased now, I don't see that happening.
    – Rachel
    Apr 9, 2013 at 15:33
  • 1
    The question has already sparked discussion and debate over: 1) what is an anti-pattern, vs. what is just bad practice 2) how do you define "documented", does some person's blog count, etc. 3) what does "formal" mean, what defines formal/not formal documentation. We don't need to theorize about whether or not it will solicit debate, it already has.
    – Servy
    Apr 9, 2013 at 15:37
  • 6
    When you are asking for a list of all "anti-patterns" that is polling. It doesn't matter if you have one per answer or try to put them all in one answer, it's still a poll. Additionally, if you don't see lots of people each adding their own answers with what they feel as "anti-patterns" to this question (were it to remain open) then I'd...disagree. I can absolutely see lots of people each trying to start their own list, even if there is an answer listing quite a few, and it's in the nature of the question itself.
    – Servy
    Apr 9, 2013 at 15:40
  • @Servy I've updated my question with the exact reason why polling and lists is considered off-topic, which I think helps explains why a single post containing a canonical list is OK while a list of answers each containing one piece of the solution is not. We can't control who will ignore the exact phrasing of the question and post an answer containing whatever they want, however we can control the phrasing of the question itself so it discourages such answers, and will justify downvoting them for not adequately answering the question.
    – Rachel
    Apr 9, 2013 at 16:43
  • 1
    How is combining all of the answers that are bad into one single answer any better? (Hint: it's not) "We can't control who will ignore the exact phrasing of the question and post an answer containing whatever they want" Yes we can, we can close the question. That's the appropriate way of preventing everyone from adding their own answer, because that's what will happen if you don't. If you think they'll result in all of those answers being downvoted, clearly you've never seen a question like this before. Even the poor answers get tons of upvotes, thus encouraging more.
    – Servy
    Apr 9, 2013 at 17:20
  • 1
    @Servy "Yes we can, we can close the question.": every question? Indeed, despite what is asked, any question can be answered with a list. BTW, look at your comments: you are debating. But the point is not if we can debate about that question. Sure, we can. The point is if the answers are likely to be debated. And they are not! The only debate here is about the question not among the answers. Don't you think that this is a bit perverse? Apr 9, 2013 at 21:45
  • @GiacomoTesio Meta is a bit different in that discussions need to be able to take place here, and so questions designed to discuss or debate a topic are not forbidden, in fact they are encouraged. That said, it is harder to hold a discussion in this format. And no, not all questions need to be closed, but the purpose of this question seems to be to start a discussion, and on SO those questions are not allowed. If a question doesn't seem like it would cause a debate, but ends up doing so anyway, then yes, it may need to be closed.
    – Servy
    Apr 9, 2013 at 23:30
  • 3
    @GiacomoTesio As for "any question can be answered with a list" the point is that this question "must" be answered with a list, you cannot answer it without creating a list. For questions that SO allows it doesn't matter if you can answer it with a list, you don't need to answer it with a list. As for debates about the question vs. the answer, the one existing answer was in fact being debated. I'm not referring to the meta questions. In the post itself there was debate over what did and didn't qualify.
    – Servy
    Apr 9, 2013 at 23:35
  • To your edit: The community has determined that list questions are not appropriate. There is no way of making this into something that's not a list question while still maintaining the OP's intent, because a list is precisely what the OP wants to get. Anything short would mean essentially asking a whole new question. SE hasn't said that only certain types of list questions are okay; it has said that all list questions should be closed because they have such a high tendency to cause undesirable behavior. I also don't see how this question is any better than other list questions.
    – Servy
    Apr 10, 2013 at 19:43
  • 1
    cont.: Given that there is no way of editing the question to not be a list question, and list questions are not allowed, it's appropriate to delete the question. Questions should be deleted when it's not possible to edit them into a question that shouldn't be closed because it's too fundamentally flawed, which is the case here.
    – Servy
    Apr 10, 2013 at 19:44
12

Your question still looks like a vague, open-ended list question to me, even if you phrased it in terms of "is this vague, open-ended list empty or not?"

(Would you really have been happy if the only answer had been "Yes, there are some, here's one. I know several more, but I won't mention them since you only asked whether there are any."? If you really just wanted to know whether the set you asked about was empty or not, such an answer should've been more than sufficient.)

In particular, the thing about "documented anti-patterns" is that anyone can take anything they don't like and call it an anti-pattern, and if they write about it on their blog then it's documented too. Sure, others can (and nearly always will) then disagree about whether it's really an anti-pattern or not, but that debate quickly gets subjective, and not in a good way.

So asking "are there any anti-patterns about functional programming?" is a bit like asking "are there any jokes about lawnmowers?" There almost certainly are, and even if there weren't when you asked, it's very likely that someone can think up some.

If you wanted to turn your question into something objectively answerable, I think the most important change you'd need to make would be to make it less open-ended by, say, restricting it to anti-patterns documented in some well known catalogue of design patterns. That would make it possible, in principle at least, for someone to go through the entire catalogue and provide a definitive answer like "Yes, the anti-patterns FOO and BAR are specific to functional programming, and XYZZY is mostly about it too." or, just possibly, "Well, what do you know, it looks like there really aren't any!"

8
  • +1 Good suggestion! I think that nobody, in the functional programming world, would propose himself as an authority without being so. However, if this make it constructive I'll do that. Apr 7, 2013 at 19:55
  • However: 1) An answer like "Yes, there are some, here's one (long description here). I know several more, but I won't mention them since you only asked whether there are any." would have been accepted by me; 2) such an answer would have been downvoted by every body else for his lack of generosity; 3) a better answer would have pointed to a single catalogue; 4) the fact that nobody did write such a simple answer means that probably the question is not debatable at all: it's hard to prove that a single documented anti-pattern exists (particularly in Haskell). Apr 7, 2013 at 20:22
  • Regarding point 4, that may be so. But note that, without restricting the scope of the question, it would be even harder to prove that one does not exist. Apr 7, 2013 at 20:32
  • edited. Well, to prove that something does not exists, an Haskell programmer would use a theorem. Or a type. And I'm not kidding. Apr 7, 2013 at 20:44
  • accepted, since after the edit you have suggested the question was open again. Apr 8, 2013 at 9:27
  • That might be just a coincidence, though; the last time I looked at the question yesterday, it already had two reopen votes. Apr 8, 2013 at 13:36
  • Well, still no new close vote 'till now. But no answer, too. :-( I'm wondering if the fact it has became a community wiki discourage answering. Unfortunately, it has been closed so many time that I was forced to edit it. Apr 8, 2013 at 13:53
  • unaccepted, since it was closed again. :-( Apr 8, 2013 at 15:45
8

The question itself is out of bounds for Stack Overflow, for a few reasons:

  1. It essentially asks for a list of anti-patterns. How do we determine what the 'right' answer is? We don't, because there isn't a single right answer.

  2. One person's anti-pattern is another person's "go to" (pun intended) statement.

  3. It doesn't actually have a problem the user faces. It's purely a curiosity question.

From the FAQ:

You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

It is an interesting question, but it's not a good fit for Stack Overflow.

Update:

The question has been closed 4 times, re-opened 3 times, deleted 3 times, undeleted twice.

It's fair to say this is a contentious question. I've gone ahead and moderator-deleted it (a moderator's deletion can't be undone except by other moderators or the SE team) lock it so that it will not continue to yo-yo and divert resources from more productive uses.

If this rubs you the wrong way, please bring up your objections in the comments or in an answer.

27
  • 2
    documented anti-patterns. Anti-patterns are not bad habits, don't you think? I'm not asking on the opinion about the anti-pattern, just for the existence of documented one. Apr 8, 2013 at 15:50
  • 4
    @GiacomoTesio That's still a list, and lists questions still aren't appropriate.
    – Servy
    Apr 8, 2013 at 16:15
  • See Point #1. I said nothing about opinion. It's exactly that you're asking for a list. How could you 'accept' an answer for such a question? Highest votes? But it's not the only right answer. Apr 8, 2013 at 17:50
  • @GiacomoTesio: Documented by who? There is no authority that goes around documenting anti-patterns. And even if there was, any such list will be, by definition, someone's opinion. Anti-patterns are not something you can prove. Apr 10, 2013 at 11:51
  • 1
    @NicolBolas In the OOP there were William Brown, Raphael Malveau, Skip McCormick but a google search about "antipatterns" will open you a new world. And, btw, anti-patterns are well defined entities in computer science. Apr 10, 2013 at 12:29
  • 1
    @GiacomoTesio: No, they aren't. They're "stuff people don't like," nothing more. Everyone has their own list of anti-patterns based on their own experiences. The fact that some people wrote about them doesn't make them right. And if they're so "well defined", why is there no actual definition of one that doesn't ultimately involve subjective judgement? Apr 10, 2013 at 12:58
  • The deletion does bother me. Two of the deletions were initiated by the same user and the 3rd was you. The question was originally closed as a duplicate. It got edited to explain why it was not a duplicate, and got re-closed as not constructive. It got edited again, then closed two more times with a moderator shortcutting the process by casting the final close vote both times. It's only been around 4 days (deleted for part of that), has received 30 upvotes, and has community members actively trying to get it reopened. It's not a bad question,and I don't think it warrants deletion.
    – Rachel
    Apr 10, 2013 at 18:56
  • As for if it should be Closed or Open or not, that's a different story. Personally I don't think it should be closed, as I see the current version of the question as clear and detailed enough to avoid becoming a long list of semi-complete answers, which StackExchange considers "not constructive" towards their goal. That is why list questions are usually frowned upon, not because they hate lists. I do not see that question degrading into a forum post full of "here's a bad practice you forgot!" answers.
    – Rachel
    Apr 10, 2013 at 18:57
  • In fact, the question it was closed as a duplicate too originally asked something very similar, and the answer was "No, although there are two exceptions", which leads me to believe the most likely answer to this question will be a "No and here's why I say that" answer. (Also, I don't think that question should have been deleted either. It has 3 reopen votes, and provides some very useful information). But that's just me. If the community thinks it should stay closed, so be it.
    – Rachel
    Apr 10, 2013 at 18:58
  • But I think deleting a +30/-10 post within a few days of it being posted just because you don't want to deal with the discussion it creates does the community more harm than good, especially when there are users actively trying to understand why it got closed so they can fix the problem and get it reopened.
    – Rachel
    Apr 10, 2013 at 19:01
  • 1
    @Rachel You should probably put this in your answer (if you haven't done so already). Also: who voted to delete it or undelete it is immaterial (you voted to undelete it twice). There are plenty of popular questions that are off topic for Stack Overflow, so using votes as the metric is a bad idea. Apr 10, 2013 at 19:07
  • @GeorgeStocker I guess I can add some kind of summary like this to my answer. I thought it would be more appropriate as a comment on your answer since the question wasn't about it's deletion and you specifically said to leave a comment in your update, although my comment did turn out kind of long. :)
    – Rachel
    Apr 10, 2013 at 19:20
  • @GeorgeStocker I think I've read more about stackoverflow mission and rules in this 4 days than I would ever wanted to. The reason, is not per se the question. The reason is that I trust quite a lot smart people, and SO is full of them. However I'm starting to understand the problem. This particular question is not likely to be answered soon. It's hard because no list of anti-patterns exists for many reasons. There are a few bad practices, but no antipatterns in the same way (in Haskell at least) there are no patterns since such high level structures rapidly become type classes... Apr 10, 2013 at 20:04
  • 1
    Thus, IMHO, this is not a list question, concretely. It might looks like a list question, to an experienced functional programmer? I don't think so: they have huge skill about list comprehensions and boolean results. "Are there any documented anti-patterns for functional programming?" technically is a boolean one, and I really think that any experienced functional programmer would note that. Apr 10, 2013 at 20:20
  • 1
    @GiacomoTesio Keep in mind that SO isn't the place for all programming questions. It's not even the place to ask all good programming questions. The site has said, from the start, that it would be able to create much higher quality content if it limited the types of questions asked to those that fit a particular "model". Your question doesn't fit that model. That doesn't make it a bad or poor quality question; it's simply one that this site has said it isn't built to support. This decision is based largely off of past experience in which questions similar to this caused problems.
    – Servy
    Apr 10, 2013 at 20:20
5

I agree that the original question was hard to answer (or even to understand what it was all about), after closing it was edited and reopened; it is now a precise question, giving a lot of needed background. It has even be upvoted to 16 in the meantime.

I'd say this is the process as it should work at its very best.

3
  • 1
    I cannot agree with this is the process as it should work at its very best, it is currently closed.
    – hlovdal
    Apr 7, 2013 at 9:16
  • 4
    popularity != correctness
    – prusswan
    Apr 7, 2013 at 11:25
  • @prusswan +1, I agree with you! Can you concretely help me to make it correct, if you see anything concretely wrong in it? Apr 7, 2013 at 13:25
3

The fact that you're using a plural term in your title immediately implies that you're asking for a list of things, rather than a single answer. The fact that you're only asking for documented anti-patterns doesn't really bear on that matter (although it may constrict the set a little).

In fact, asking for only documented examples can be viewed as problematic, because it elicits discussion over what is or isn't a 'real' anti-pattern - according to the definition provided on Wikipedia, consistent bad habits could very well fit. Also, what counts as documentation? Does it have to be in a book, or can it just be a blog post?

So, not only are you asking for a list of things, but the inclusion of any particular item is also up for discussion. For those two reasons, it's not a constructive question for Stack Overflow as it stands.

6
  • thanks. The original title was singular: "Does exist any anti-pattern in the functional programming world?" but was changed by a moderator (I think to make it more constructive). Do you think that I should change it back to the original? As for the documented, I've explained in the question's text what I mean (authoritative authors or well known sources): can I improve it further? How? Apr 8, 2013 at 16:12
  • @GiacomoTesio You've clearly indicted through your comments in that question, and in the meta questions surrounding it, that what you want is a list of patterns, and you're simply trying to phrase the question in some way that you aren't asking for it, but that you'll end up with such a list anyway. What we're saying is that you can't do that. Any question for which the result is a list of things is an improper question, by definition. Since what you want to end up with is inherently contrary to what SO allows you'll need to get your list from another site entirely.
    – Servy
    Apr 8, 2013 at 16:16
  • This may be a little harsh, but the original title was ungrammatical - it doesn't make sense as an English sentence. Using 'any' means that the next part must be plural.
    – Hannele
    Apr 8, 2013 at 17:15
  • To be clear, I do think it's a useful discussion to have, and perhaps the line between good/bad subjective should be redefined, but it's not a good fit given a laser focus on answerable questions.
    – Hannele
    Apr 8, 2013 at 17:20
  • 1
    A way to put it into the singular: Is there an example of an anti-pattern for functional programming? - although, you'd still have to explain clearly what you mean by documented. Even that's a little awkward, though, and begs to be made plural (are there any examples).
    – Hannele
    Apr 8, 2013 at 17:21
  • I tried to follow your suggestions. Let hope this works. Last try. Apr 8, 2013 at 17:36
0

"Any documented anti-patterns" is "non constructive" because it is considered "too broad." In your shoes, I would "narrow" the question by asking about ONE anti-pattern and build the question around that.

3
  • 1
    Questions that are overly broad are typically closed as "not a real question". The main problem here is that the question invited opinion heavy answers, thus the "not constructive" closure.
    – yannis
    May 19, 2013 at 17:08
  • @Yannis: There are some questions that are "too broad," because you can't pin down a SINGLE answer, and those are NARQs. And there are other questions that are "too broad" because they generate multiple answers of "equal" value, and those are "not constructive."
    – Tom Au
    May 19, 2013 at 17:12
  • @Yannis and Tom: the point here was that a single answer is possible, but really hard. I think that "No" is the right answer. However the guys who closed the question aren't able to give any answer, neither debatable or not. Despite the huge effort that I put here and in the question, i understand that "You can't ever turn a non-constructive question in a constructive one", mainly because even those who can't answer keeps to close the question according to intangible mental patterns of their own. May 19, 2013 at 17:35
-8

You can't.

Whenever a question has been closed once, it will be closed again and again (and eventually deleted) by members of the community with sufficient reputation to vote to delete.

This despite what you do to make it constructive and conformant to the stackoverflow's rules and rationale.

There's probably something wrong with the question, even if it conforms to the rules both in the letter and in the matter. So don't lose your time into trying to improve it after suggestions from meta.

13
  • accepted my own answer since none of the previous proved to be concretely useful (the question has been deleted). Apr 9, 2013 at 12:11
  • 1
    Some questions inherently can't be fixed to be made to be within the site's rules, and some can. If this meta question was about your specific question I'd agree with this answer 100%; there is no way to fix your question. If you think this is true in general, you're dead wrong. Many times a day questions are unopened after being edited from poor questions that don't belong onto the site into acceptable or even fantastic questions.
    – Servy
    Apr 9, 2013 at 14:13
  • 2
    Oh, and the question wasn't deleted by a moderator, it was deleted by members of the community with sufficient reputation to vote to delete.
    – Servy
    Apr 9, 2013 at 14:15
  • @Servy edited after your suggestion. However, this question was about that specific question (see tags). Apr 9, 2013 at 14:18
  • The question is about this specific question, but the answer is not, grammatically speaking. The statement, "Whenever a question has been closed once, it will be closed again and again" is clearly not referring to one question; you're asserting that it applies to all questions. In the following text, you don't refer to this question, you refer to questions in general. Had you said, "this particular question could not be edited into something appropriate for SO as it was too fundamentally flawed." I'd have given you a +1, as you'd have been right. Some questions can be fixed, and some can't.
    – Servy
    Apr 9, 2013 at 14:21
  • I said "There's probably something wrong with the question". But... I'm quite tired about this topic. Look at it. The only debate related to this question was that about the question. This because probably, even the closer were not able to write a single "Yes" or "No" authoritative answer. I've learned the lesson: StackOverflow is great for "low-level" questions, but collective intelligence does not scale. Apr 9, 2013 at 14:29
  • 3
    And I'm telling you that you're wrong. Just because SO chooses to not allow list questions (regardless of the difficultly level they are targeted to) doesn't mean that the site only targets easy questions. That you were unable to ask one question doesn't in any way mean that all questions that are closed can't be fixed. If you aren't interested in really learning what the site is about, then that's your choice.
    – Servy
    Apr 9, 2013 at 14:34
  • Maybe the question would be better received on programmers.stackexchange.com.
    – Gus
    Apr 10, 2013 at 19:51
  • @Gus, probably. However, I don't want to double post (afaik, it's explicitly not allowed). Apr 10, 2013 at 19:57
  • @Gus You could ask on meta.programmers, but I doubt it. It would eliminate a few of the reasons this isn't an appropriate question, but not all. List questions still aren't appropriate on programmers (to my knowledge), even if a level of subjectivity is.
    – Servy
    Apr 10, 2013 at 19:57
  • @Servy please, before stating it's a list question, find a list to propose. It's a list question no more that it's a question asking for a theorem. Apr 10, 2013 at 19:58
  • And btw, I guess there are 20-50 people around the world able to answer correctly to this question. Are you one? Apr 10, 2013 at 19:59
  • @GiacomoTesio It's a question that's asking for a list. A list does not need to be provided as an answer for it to still be a list question. I also don't need to be able to answer the question to know that it's not an appropriate question based on the site's guidelines.
    – Servy
    Apr 10, 2013 at 19:59

You must log in to answer this question.

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