There have been a ton of book recommendation questions, some fairly old with helpful answers, flagged as not constructive today. According to the last discussion on this, most of these qualify as specialized enough to remain on topic, in my opinion. Has that policy changed? How are people handling those flags? Is there any explanation for the sudden burst?

  • Examples? I've voted to close a couple (or more) book related questions recently... Wondering if they are among those you have in mind.
    – yannis
    Commented Dec 8, 2011 at 20:11
  • @YannisRizos The flagging has been almost universal on any question that asks for a book recommendation.
    – user8
    Commented Dec 8, 2011 at 20:16
  • 1
    And personally I found this the best site, in the past, for updating my library based on those questions. When each answer has a single book, and is then voted upon, I found it made finding the authoritative books on a topic much simpler as reviews elsewhere tended to be nothing but PR pages when a book was first published.
    – CaffGeek
    Commented Dec 12, 2011 at 22:49

1 Answer 1


According to the last discussion, most of these don't meet our quality guidelines (emphasis mine):

However, like programming language questions, if you have specialised requirements (you want to go into LINQ, or networking, or.. in great depth) then perhaps those should be allowed. They should inspire answers that explain why a book is good for this topic and shouldn't just produce a list of everyone's favourite.

After the discussion on meta, we started to apply the litmus test to incoming questions, but we have a huge backlog of book recommendation questions that aren't specialized ("What's a good book for C?", "How can I learn Java?", "Is there a book that'll make me a good programmer?", etc.) and a lot of book recommendation questions that didn't get any love and/or didn't produce explanatory answers:

  • Questions where all the answers are pictures of books, or links to books with no explanation
  • Questions that are worded poorly, never got love in the form of votes, views, or answers.

Because there are other problems we wanted to focus on first, the backlog hasn't been brought up on meta, but someone is taking the initiative to go through and review those questions (for which we are grateful: if you see something, say something and all that).

Having evaluated the flags that have come in, I'd say it's about 9/10 are just terrible book recommendation questions. There is a small number of flagged posts that meet the basic requirements set out in the meta discussion question you linked, and have been revised to be clearer.

Since we're on the subject anyway....

If you want to help review and get these questions up to shape, here's what I've been doing:

Determine if the question is about a specialized or niche topic in program

If the subject of the recommendation is covered in hundreds of online tutorials, thousands of books, or is likely a topic every programmer has been exposed to, it's too general. They're not going to produce a canonical book, they're going to create a small subset of the list of books about the subject.

That is, when a person asks "What's a good book on Java?" and it attracts 5 answers, we're not doing the internet a solid. There are way more than 5 books on Java that are passable, and I think we all know this. These aren't the type of questions we want here.

But if a person asks about a niche topic and it gets a few answers, that's valuable: if there have only been a dozen people writing about the subject, we have a high chance of capturing what is the canon for the subject. That's the type of recommendations we want here.

Clean up the question to invite and demand the type of answers we want

Even if a recommendation question is about a niche topic, a badly worded question can doom it. What I've seen is a question that essentially asks for a book recommendation for a niche topic but clouds that question with things like:

  • rants and personal life stories
  • "I want a book, but if you have any other advice you can give me"
  • "one book per answer please" (aside: ugh)

This is not good. In our FAQ, there are several guidelines our questions need to meet:

  • inspire answers that explain “why” and “how”.
  • tend to have long, not short, answers.
  • have a constructive, fair, and impartial tone.
  • invite sharing experiences over opinions.
  • insist that opinion be backed up with facts and references.
  • are more than just mindless social fun.

So what I've done on the questions that are about niche and specialized topics is rewrite it to follow a set template:

Is there a canonical book on [insert subject here]?

[Insert brief paragraph about what the user is trying to do and what they're trying to learn.]

Is there a book out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information on [insert subject here]? What about that book makes it special?

And tagging it with and the subject of the recommendation. This way, we can transform the book tag from being a catch-all for recommendations that wildly vary in quality and scope to a really great library, where you can just search for the topic you want and find a list of books for that niche topic you need to know more about.

  • 1
    Why would having your resource be canonical matter much? It seems kind of like shoehorning the real question into something that technically fits the current description of what is an is not wanted on programmers.se while not really being what someone would want.
    – compman
    Commented Dec 21, 2011 at 2:20
  • 1
    @compman One of the main strengths of the Stack Exchange engine is that editing to make the best possible posts is easy and encouraged. Either a question gets revised to meet the site's quality standards or it gets closed and removed: take your pick. Personally, if I was someone asking for book recommendations, I'd prefer knowing what the best possible book is on a subject than having a closed question and no useful answers.
    – user8
    Commented Dec 21, 2011 at 2:23
  • Canonical != best (at least not necessarily).
    – compman
    Commented Dec 21, 2011 at 17:41

You must log in to answer this question.

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