Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

I recently learned, from a comment by an editor, that questions like

I'm looking for a reference to the literature on how to do X.

...are frowned upon in SE. The editor provided this and this in support of this claim.

I ask myself "why???". How is a request for a reference to the literature on a particular subject any different from asking for help with, e.g., how to remove all the duplicates from a list while preserving the original ordering in Python? Both questions have short, simple, unambiguous answers. Both will receive several alternative answers, and in both cases the desirability of the proposed answers will vary in the OP's opinion, so he/she will be able to mark one of the answers given as the accepted. In both cases a good answer can save the OP a lot of time. In both cases, future users of the site can benefit from the information posted.

Importantly, in both cases the answers will likely be given without any further justification. In both cases, the answers reflect the subjective preferences of the responders, and there's nothing wrong with that, in either case.

Not long ago I made several posts to Stack Overflow, all stemming from difficulties I was having grasping Java generics. (I had read the online tutorials on Java generics, etc., but I still could not write the simplest stuff with them.) In at least one of those posts I added, as a side-note, a request for a solid reference, aimed at experienced programmers (i.e. not a tutorial) that would give me the info I needed to answer my questions by myself. I got no such reference (which now makes sense, since it would have been against the site's mores). Instead I got long, detailed, downright generous replies that, nonetheless, failed to clarify Java generics for me. At best I was getting a fish, when what I wanted was to learn to fish.

Now I can say that I know, with full certainty, why these generous replies failed: the subject of Java generics is far too complex to be adequately explained within the format of an SE post!

It turns out that, well after posting those questions, by dumb luck (browsing in a brick-and-mortar bookstore) I found a book that does a marvelous the job of bringing an experienced programmer up to speed with Java generics, but to do this the author requires 30+ tightly written pages (two chapters). I'm talking 30+ pages with zero fluff: no warm-up examples, no tutorials, just the brass tacks: either stuff digested from the language spec, or capsules of highly abbreviated Java code illustrating the subtler points. And one needs pretty much all of it to fully make sense of Java generics, and use them without resorting to trial-and-error, guesswork, and/or a combination of Google + cut-and-paste + prayer.

Seriously: a single reference to this book would have been far more helpful to me than all the generous replies that I got on SE to all those questions combined. (I feel bad for all those who took the time to write them.)

My point with this anecdote is to illustrate that there are questions for which the best answer by far really is a very specific reference to a book (as in "study chapters 10 and 11 of such-and-such") or a scholarly article.

And what is wrong with that? How is SE's value as a resource in any way diminished by such a reply? Why isn't it, on the contrary, enhanced by it? And if there is nothing wrong with such a reply, then what is wrong with a question that asks for such a reply to begin with?

I know, SE is a privately owned family of sites, not a democracy, and the owners can set it up however they want, end of story. I don't expect to change their minds. But I would like to at least understand the rationale. At the moment it looks at best capricious, at worst, well, ... let's keep this "constructive".

Also, at times it is difficult for me to tell what is actually part of the site's official policy, and what is nothing more than the flawed/biased interpretation of it by some. I noticed that the one of the links I was given to back up this alleged policy, and which is a post to meta.programmers.SE, garnered a rather paltry total of 2 votes. In contrast, some threads on SO on the subject of books have vote counts through the roof. FWIW.

Perhaps the nut of the problem is the contradiction that exists between the often repeated official claim that the rules imposed on SE stem from a desire to make the site useful to its users, coupled with an iron unwillingness to let the users decide (with their votes and page views) what is it that they find useful. It's not the only internal contradiction in SE's policies, but IMO it's the one most likely to generate confusion and frustration.

Reference questions:

How should I specify a grammar for a parser? on Programmers
Ref request: where to learn to specify a grammar for a parser? on Stack Overflow
Ref request: grammar specification how-to on Theoretical Computer Science

share|improve this question

migrated from Sep 12 '11 at 2:41

This question came from our discussion, support, and feature requests site for professional programmers interested in conceptual questions about software development.

There's no way to get it right in SE... One spends more time fussing over what goes where, the right "constructive" wording, and all the myriad pet peeves of the censors, than getting any productive use from these sites... Now I see this vote was "migrated" from where I originally posted it. And downvoted. (Clearly I don't get it...) And the comment to which this comment was replying is now deleted, making this comment sound a bit nonsensical. Well, so be it. – kjo Sep 11 '11 at 18:17
On the other hand, there is a lot of book questions that have answers: and for the record, I don't understand why this was migrated. This is not specific to programmers.SE, is it? – Pëkka Sep 11 '11 at 18:34
For what it's worth, I do apologize for starting the chain of events that led us here. I was honestly acting with the best intentions. – Adam Lear Sep 12 '11 at 2:48

First, thanks for taking it to a meta discussion site instead of continuing in comments. It allows everyone to weigh in on the issue and provide detailed responses to your specific concerns. I'll try to address some of them.

Importantly, in both cases the answers will likely be given without any further justification. In both cases, the answers reflect the subjective preferences of the responders, and there's nothing wrong with that, in either case.

That's not what we want here at all. The blog post Good Subjective, Bad Subjective, which is the basis for much of each site's FAQ, goes into detail about the types of questions we want here and specifically what types of answers they should be inviting. In particular,

Great subjective questions tend to have long, not short, answers. The best subjective questions inspire your peers to share their actual experiences, not just post a mindless one-liner or cartoon in hopes of being rewarded with upvotes for being merely “first.” Sharing an experience takes at least one paragraph; ideally several paragraphs. If I’m asking about how to bake cookies, don’t give me a list of grocery items: milk. butter. vanilla. eggs. There is virtually nothing I can learn from a short, static list of grocery items that make up a recipe. Instead, tell me what happened the last time you made cookies from that recipe! Share your detailed experiences, so that we all might learn from them.

We want questions that insist on justification for answers. Without that, inherently subjective answers aren't verifiable in principle: I can't dispute or question a personal preference (I like cherry ice cream or this book on grammar parsing), nor does a personal preference teach me anything other than what the answerer likes, but I can decide if an answer is good based on how cogent its justification is.

Further reading: Are "I'm looking for X" questions on topic? and Should surveys be allowed?

Now I can say that I know, with full certainty, why these generous replies failed: the subject of Java generics is far too complex to be adequately explained within the format of an SE post!

This I think we can agree on: Stack Exchange is not in any way suitable for asking about general, broadly scoped topics. However, the workaround you're advocating, "give me a list of books about X general, broadly scoped topic", isn't suited for Stack Exchange, either. The Q&A format works when a vistor can identify the correct answer to the question. When every answer is equally valid (because there's no justification for any of the answers), the Stack Exchange engine breaks down. What do votes mean? What's the point of accepting an answer? What if I have a slightly different scenario than yours: are the books still valid? Who knows? None of the answers provided any information beyond a link to a book.

Instead, what we're looking for is some amount of homework and prior research done by the asker. What preliminary research have you done? What specifically about the subject is tripping you up?

To put it another way, the Stack Exchange engine is meant to invite experts. Experts have vast arrays of knowledge about their specific areas of expertise. When you ask a broad-stroke question or ask for a book about a broad topic, it's like asking someone at JPL, "Hey, how do I build a Mars probe? Know any good books about it?" It's the wrong question to ask: they could be there for years telling you everything about what's involved, and wouldn't even know where to begin with a book. Are you also a rocket scientist? Just a curious middle schooler? Somewhere in between? What, specifically about the topic do you want to know?

But if you wanted to ask about a specific issue, like "How are the camera lenses kept clear from the Martian dust?" or "Is there a canonical reference for how to troubleshoot a rover fail code?", the scope of the question becomes far more manageable. The JPL researcher can provide their expertise on that one specific question, and in the future, when someone's Googling for an answer to the same question, the Googler is going to find the exact answer, instead of a series of links to other things that might or might not help.

Also, at times it is difficult for me to tell what is actually part of the site's official policy, and what is nothing more than the flawed/biased interpretation of it by some. I noticed that the one of the links I was given to back up this alleged policy, and which is a post to meta.programmers.SE, garnered a rather paltry total of 2 votes. In contrast, some threads on SO on the subject of books have vote counts through the roof. FWIW.

It's important to understand that Programmers is not Stack Overflow: its traffic pales in comparison to Stack Overflow's. They have close to 3 million questions and 770,000 users: Programmers has 14,000 and and 32,000, respectively. The Programmers meta discussion site, like all SE 2.0 meta discussion sites, has a small fraction of the main site's traffic. For comparison, Programmers's top-voted question has 76 votes and 1,615 views. Comparing the activity of a question on Programmers's meta discussion site to a random question on Stack Overflow is just untenable.

Further reading: How to reconcile guidelines, community opinion and moderation

Instead, Stack Exchange sites rely on network-wide consensus derived from the experiences of all 45+ sites: we learn from each other's mistakes as well as from our own. This consensus is then codified in blog posts (like "Good Subjective, Bad Subjective" mentioned above), in the site's FAQ and on the site's meta discussion site through the tag:

  • Blog posts: general advice and guidance from Stack Exchange, Inc., derived from the experiences of all the sites.
  • FAQ: crib notes for the general policies of the site on the most frequently encountered problems (what's generally on-topic, how to use the site, etc.)
  • Meta discussion site: detailed explanations and consensus building for the implementation of the previous two.

The community elects moderators to help adjudicate and guide the community with respect to the above, and it's in that capacity I'm answering you now as a moderator on Programmers. As moderators, Anna and I also commented/edited your post. Individually, we don't always get it right, but there are 4 of us on Programmers, as well as 100 other community-elected moderators on the other sites, who peer review each other's decisions.

In this specific case, two separate moderators on Programmers reviewed the question and came to generally the same conclusion, and the actions taken were based on that conclusion. To be honest, I don't see how the final result is much different than what you were asking: you wanted to to find a reference for the subject, we rescoped it to ask for the canonical reference for the subject as well as what you should be looking for when trying to find a reference yourself. The top-voted answer even provided a link to what he believed to be the canonical reference for the subject.

This is pretty long, so I'll just end with this: Stack Exchange works because it's a public resource that's editable by everyone. The value for the community is that every question can be improved and changed such that they not only help the original asker, but they help future visitors as well.

Edits are done with that purpose and that purpose only. We all want to have the best question possible, even if that means tweaking the scope or the intent of the question.

So when someone revises your question and explains why, please try to assume good faith: they're not trying to make your life more difficult, they're trying to help you improve the question. This is true regardless of the person's status or bona fides. If there's an issue, that's what we moderators are here for: to guide and explain.

share|improve this answer
I'm sorry, there seems to have been a misunderstanding. I originally posted this discussion question in the Stack Exchange meta site. I was following up on a by Anna Lear about a post of mine where she wrote "@kjo It's certainly a question, but not the right question to ask on Stack Exchange. SE isn't here to build lists of references." I was interested specifically in this overarching claim about Stack Exchange, not about programmers.SE. I tried to make this clear. Someone migrated my post to here. I am sorry you wrote a lengthy answer. – kjo Sep 11 '11 at 22:03
@kjo With the exception of the point about Programmers.SE's traffic, this answer is about Stack Exchange in general. We don't exist in a bubble: we have the same policies as every other site on Stack Exchange. It was migrated here because it's specifically about an issue that occurred on Programmers.SE. – user149432 Sep 11 '11 at 22:05
I'm rather glad that Mark wrote a lengthy answer, because it's interesting to me. Good answers aren't wasted just because the answerer is not a mind reader. – Macneil Sep 11 '11 at 22:20
I'm sure the readership of meta.Programmers.SE is not the same as that of meta.SE. I wanted to reach the latter, and get their views. – kjo Sep 11 '11 at 23:12
Also, if your reply was, for the most, not specific to Programmers.SE, what's the justification to migrate the original post? It was asking about SE in general, and the answer it got was, according to you, about SE in general. The fact that the motivation was a comment to a post in Programmers.SE is completely irrelevant. I would like to request to have the post returned to where I sent it originally. – kjo Sep 11 '11 at 23:33
I can't upvote this answer enough; your fifth, sixth, and seventh paragraphs («Instead, what we're looking for is some amount of homework...» through «...instead of a series of links to other things that might or might not help them.») should be plastered at the top of the "How to ask" page. – Josh Caswell Sep 12 '11 at 4:25

I think the problem is all about emphasis. The title of your question was changed, which is a key point of emphasis. However, the body of your question was largely the same. In fact, even after editing your question still asks:

Is there a book or reference out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information about specifying grammar for a parser?

And, so far as I understand the community's interpretation here, all of that is acceptable.

If I happened to see your question on Java generics, I probably would've pointed you toward Neal Gafter's excellent article and his excellent talk on wildcards. Now, neither of those are books. Should my answer have been downvoted because it wasn't a book? You stated that many people generously gave you answers that still didn't answer your question. But what if they answered many other people's questions, who came to StackOverflow via search? The editing of your question isn't to necessarily help you, nor is it a criticism of you, rather its purpose is to help the community.

In this particular case, I'm not aware of any books that are about, or would have a chapter about, what you're looking for. It may be out there, but all else equal I think it's better that your interesting question have some answers rather than no answers.

share|improve this answer
The passage you quote is one I did not write, but by quoting it it appears as if those were my very words. That's not right. I don't care to discuss my objections to the edits. This is already too exhausting as it is. I am content with relinquishing authorship of the post. The Wikipedia model is not applicable to discussion threads, where the details of who said what matter, nor is it applicable to documents with a publicly named author. Editing a document that is signed by someone else, without that person's consent, amounts to putting words in his/her mouth. This should be ... – kjo Sep 11 '11 at 23:23
...obvious. I am sorry to see that it isn't. – kjo Sep 11 '11 at 23:23
I believe open editing makes SE far more easy to use. Many people have honest and real questions, but their writing might not be so clear, or they may clutter it with unnecessary details. With community editing, we are able to brush away that clutter. ... Unfortunately, for many who are edited, because they wrote the original text, they cannot fathom why their prose is confusing, or even understand what parts of it are ambiguous. In the case of ambiguity, sometimes we guess wrong, sometimes we ask, we're not perfect. – Macneil Sep 12 '11 at 1:31
I'm fine when the edits are offered to the OP as suggestions for the OP to accept if they agree with them. I have received many edits like that, and sometimes explicitly thanked the editor for them. I think this is useful. But when the edits are forced upon the OP against his/her will, that's even worse than outright censorship, because when I'm censored at least I am not being misrepresented, words are not being put in my mouth. Having the original question closed and deleted definitely sucks, but even that is IMO preferable to an endless back-and-forth over editorial nuances. – kjo Sep 12 '11 at 2:17
@kjo Each edit is shown in a revision log (accessible by clicking on the "edited ... ago" link) and the last editor's name is also displayed on the post. The FAQ for each site explicitly states that SE sites are collaboratively edited. There are no attempts made to hide edits or present them as the original poster's words. – Adam Lear Sep 12 '11 at 2:18
@Anna: that's unrealistic. Most people don't have the time/patience to go through all that detective work to figure out who said what when. In the end, for all practical purposes, the OP's words has been twisted and left as his/her words. This model of collaborative editing is suitable for anonymous articles, like the Wikipedia's. It is completely unsuitable for a body of documents where it matters who wrote what. The fact that this is a clearly stated policy does not make it any more suitable. – kjo Sep 12 '11 at 2:38
@kjo With all due respect, this model has been working well for SE for 3 years and counting. There is no detective work required in 99.9% of the cases. I understand that you disagree with it and I respect your right to do so, but the fact remains that that's how the sites work. – Adam Lear Sep 12 '11 at 2:44
@Anna: here's a deal for you: let me start editing your posts, changing what you wrote in ways that you don't agree with, and then let's see how much you like this system. I doubt you will find the system all that great, and will derive little comfort from SE's 3 years of using it. – kjo Sep 12 '11 at 2:51
@kjo My posts on various SE sites have been edited, including some in ways that I didn't think were necessary. – Adam Lear Sep 12 '11 at 2:53

You must log in to answer this question.

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