This question got closed as off-topic, and then locked by a moderator:

What non-programming books should programmers read?

  • The question helps you be better at your job
  • It's surely on-topic
  • It has 338 upvotes and lots of interesting answers

I guess this is another example of stretching a close reason. Some people dislike polls, and though it's on-topic, vote to close it as off-topic. For a popular question, there will always be five people like that.

Usually five other people can vote to re-open. But now the question is locked. Does the moderator think it's off-topic? What is the harm in letting the community decide whether it is really off-topic?

  • 12
    How is it on-topic? – nb69307 Jun 12 '10 at 8:34
  • 1
    @Neil Butterworth: "if your question generally covers …" "matters that are unique to the programming profession" "… then you're in the right place to ask your question!" – Andomar Jun 12 '10 at 8:39
  • 16
    @Andomar: doesn't "non-programming books" put it squarely in the "not unique to the programming profession" category? – Shog9 Jun 12 '10 at 8:42
  • @Shog9: Yes, even if you leave out the part about "should programmers read", the segment of books called "non-programming books" is a unique segment for programmers. The segment would not make sense to anyone else. And as the answers demonstrate, it's about non-programming books that help you program better. – Andomar Jun 12 '10 at 8:46
  • @Andomar: what about "How to Win Friends and Influence People" is 1) unique to programmers, and 2) able to help you program better? – Shog9 Jun 12 '10 at 8:48
  • 15
    @Andomar Just because a question contains the word "programmer" does not make it on-topic for SO. – nb69307 Jun 12 '10 at 9:01
  • @Shog9: 2) I think interacting with others is essential to having an impact as a programmer, 1) "How to Win Friends" addresses a weakness of the average programmer. In fact, I actually borrowed that book based on this very question, tho I admit I haven't read it yet! – Andomar Jun 12 '10 at 9:25
  • 4
    @Andomar: So basically, anything is on-topic as long as it picks up enough votes and you can rationalize it after the fact. I call BS. Has everybody forgotten boat programming already? Was all the debate and blog posts and compromises and policymaking for nothing? – Aarobot Jun 12 '10 at 13:42
  • 1
    @Aarobot: I think 300 upvotes imply that the question is on-topic in many people's opinion? And I think this question is well within the limits set in the blog posts and the FAQ (to be exact, the fourth class of the SO FAQ, "matters that are unique to the programming profession") – Andomar Jun 12 '10 at 16:26
  • 8
    @Andomar: We're all sick of hearing this tired argument. 300 upvotes means precisely squat for a question that's received 27,000 unique views. That means about 1 out of every 100 people who looked at the question thought it was good. And that you would actually think that this question fits the FAQ guidelines - come on, seriously? How do you figure that non-programming books are unique to the programming profession? I'm sorry, it's one thing to be an "inclusionist" but you're using a preposterously liberal interpretation of the posting guidelines. – Aarobot Jun 12 '10 at 17:03
  • @Peter: meta.stackexchange.com/questions/51903/… What's the point of using the same identical edit "summary" so often? – Gnome Jun 12 '10 at 17:53
  • @Aarobot: So where would you ask a question about the best non-programming books for programmers? Even the people on the books Q&A couldn't help you-- they're not programmers. – Andomar Jun 12 '10 at 18:00
  • 3
    @Andomar: You can take out the words "non", "programming", "for", and "programmers" from that question title, and it is the identical question when asked to a non-programming audience. But if you insist that it's somehow different then try reddit, /., or any of the other programmer forums, not a programming Q&A site. – Aarobot Jun 12 '10 at 18:42
  • @Gnome: it is used in the absence of a checkbox in the user interface named "Minor edit" (or perhaps "Trivial edit"). – Peter Mortensen Jun 13 '10 at 11:46

Locking has several uses. I didn't lock it to prevent it from being reopened (although that's a positive side-effect that I'll get to in a minute), I locked it to prevent it from being deleted. Although I think the question is slightly off-topic for SO, it was wildly popular back in its day so I wanted to preserve it and its answers. If we allow that question to be deleted, other people will just ask it again the following week because they can't find it.

You point out that it has lots of interesting answers, which is true, but a lot of them are duplicates. That's a sign that the question ran out of steam at some point, and shouldn't remain open to gather even more duplicate answers.

  • Any chance anyone can edit a note about searching using "inquestion" (or even inquestion:38210) to that closed question? – Arjan Jun 12 '10 at 13:40
  • 4
    I consider the second paragraph to be the most important. Very few questions with more than 100 answers are actually receiving new, original answers; allowing more answers doesn't add any value, it just guarantees that they'll be bumped to the "active" tab by "me-tooers" who couldn't be bothered to read all of the previous answers (and I don't blame them). I'm all for preserving the questions and answers, but new activity is a whole other story. – Aarobot Jun 12 '10 at 13:44
  • @Aarobot: I agree. I just looked through the last few pages of answers to that one, and I'll bet I could bring it down to 100 answers if I had the time to delete dupes. – Bill the Lizard Jun 12 '10 at 13:55
  • @Arjan: I'm not sure I follow you? You mean add a note telling people to search to see if their answers already exists before adding a new one? – Bill the Lizard Jun 12 '10 at 13:57
  • @Bill the Lizard: If a new great book came out this year, how could it be added to the list? – Andomar Jun 12 '10 at 16:12
  • @Aarobot: Yes, old questions are dead. Marking as duplicate is the same as redirecting people to last year's information. Anyway, virtually all duplicates are answered and not closed. Some people dislike some question types (f.e. polls), so they do a duplicate search to see if they can close the question. The duplicate system does not close duplicates, but it does close polls – Andomar Jun 12 '10 at 16:15
  • 3
    @Andomar: This isn't the book club, and we're talking about duplication in the answers, not the question (you can't close an answer as a duplicate). – Aarobot Jun 12 '10 at 17:07
  • 2
    @Andomar: If the question were on-topic I'd be a lot more worried about new books being excluded from the list. – Bill the Lizard Jun 12 '10 at 17:28
  • 1
    @Bill the LIzard: Only programmers can tell you about the "best non-programming books for programmers". Can you explain in more detail why it's off-topic? – Andomar Jun 12 '10 at 18:01
  • 3
    @Andomar: It's not about programming. I don't think we're missing anything if the next Neal Stephenson or William Gibson book doesn't get added to the list. Only a programmer could tell you what kind of snacks he likes to eat while programming, but that's not a question about programming either. I'd agree that the book question is a lot closer to the mark, which is why it's only closed and not deleted. – Bill the Lizard Jun 12 '10 at 18:16
  • 1
    @Bill the LIzard: You define on-topic as "about programming", but the FAQ says "matters that are unique to the programming profession" are on-topic. The food example is interesting; I would not vote to reopen a question about food, because I don't think food has impact on programming. But why preempt the regular open/close process for books? – Andomar Jun 12 '10 at 19:43
  • @Andomar: I already explained that in my answer. I preempted the regular open/close process because it also prevents deletion. I don't think non-programming books have a lot of impact on programming either, but a lot of people disagree. I've even answered questions like this myself in the past. – Bill the Lizard Jun 12 '10 at 20:30
  • @Bill the Lizard: Wasn't there a recent change to require more close-votes in proportion with up-votes? Thanks for the replies; I understand what happened now. – Andomar Jun 12 '10 at 20:57
  • @Andomar: the change requires more delete votes. The question in question would now require scores of them, whereas before it could have been deleted with just three. – Shog9 Jun 12 '10 at 21:46
  • @Bill, yes, your add a note telling people to search to see if their answers already exists before adding a new one? was what I meant. But: that's useless, as the question is (very rightfully so) closed. So, please ignore my request. ;-) – Arjan Jun 12 '10 at 23:08

There is a very real and important distinction between programmers and programming. Questions about programming are welcome and encouraged. Questions about programmers are nearly always "Subjective", or "Off-topic", or "Discussion". They can very easily be applied to other jobs. If you look at the list of books (the top 30) they are all great books, but they are not great for programmers. It just happens that the SO users like them.

  • For instance, "Dune", "Hitchhiker's Guide...", "Ender's Game". All incredible books. But they hold no special interest for programmers.

  • "7 Habits of highly effective...", "How to meet friends..." "Strunk & White...". All very valuable books, but they are valuable in general. They hold no special interest to programmers that couldn't be of interest to people in literally any other profession.

Only a handful of the books in the top 30 (I have read nearly all) hold value from a programming perspective.

But, let's pretend for a moment that the answers were all strictly books which would be useful from a programming perspective. This would mean that it is no longer "Off Topic". I would put Asimov, GED, and Design of Everyday Things, in this category. They are not about programming, but they could conceivably impact your programming. The question would still be irrevocably "Subjective". It is a poll, and therefore has no "answer". Such questions do not belong on SO. SO is a place where you are supposed to go and find answers, not a forum for programmers to congregate and discuss the world.

  • I think the books are relevant to programming, and the books examples demonstrate that. You say you're a programmer, and you've read all 30, just goes to show :) – Andomar Jun 14 '10 at 14:49
  • @Andomar: Correlation does not imply causation. – Shog9 Jun 14 '10 at 15:04
  • @Shog9: But correlation is a strong indicator for causation – Andomar Jun 14 '10 at 15:16
  • 2
    I'm a voracious reader, something which began far before I was programming. In fact, I can truthfully say that I only read two or three of them after I began programming. As I deliniated, the books fall into categories, [Sci-Fi/Fiction][Self-Improvement][Organizational]. Those categories, each standing on their own, are in NO WAY related to programming. The books within may hold interest to some programmers, but it is not the fact that they are programmers which means they will benefit. My enjoyment of those books was in no way derived from my job. – devinb Jun 14 '10 at 15:35
  • 1
    @Andomar: Correlation is necessary for causation... But by itself, correlation is not a valid argument. In fact, you may be doing yourself a disservice by assuming that programmers often read similar sets of books because they are programmers (or became programmers because they read certain books), rather than considering that these books, and programming, tend to be popular with people who share some other factor... – Shog9 Jun 14 '10 at 16:50
  • 1
    ... awesomeness. – devinb Jun 14 '10 at 17:08
  • @devinb: I'd disagree that "Self improvement" is "in NO WAY relevant to programming". And what does it matter if you read the books before or after you become a programmer? You go on to say that "it is not the fact that they are programmers which means they will benefit", but that's pretty subjective statement – Andomar Jun 14 '10 at 17:42
  • @Andomar Learning how to procrastinate less and organize my time better will help me in my job. BUT, they would help me in any job. That is why they are not programming related. – devinb Jun 14 '10 at 18:36
  • I totally agree with this answer. I'd take it a step further and point out that if you go past the first page, the number of relevant titles drops off considerably (go figure, the voting system works). @Andomar: Self-improvement is relevant to programming only because it's relevant to every profession. That makes it way too general a topic to keep discussing on SO. This question gets to stay under the grandfather clause, but there's no reason to keep it open. – Bill the Lizard Jun 15 '10 at 1:18

You are right, it really should be deleted instead, since it's obviously not programming related.

Or do you see anything in the question that is about writing code (aka programming)?

  • Reading the Hitch Hiker's Guide would help you explain the value 42 in our source code. More seriously, the Guide starts with the idea that people are worrying about digital watches, while their entire planet is about to be destroyed to make way for an intergalactic highway. I think of that every time I have an unsolvable bug. Switch to a higher or lower level of abstraction often opens up new explanations. – Andomar Jun 12 '10 at 16:12
  • 4
    @Andomar: "What has been will be again, what has been done will be done again; there is nothing new under the sun" - I think of that often while reading code written by someone apparently unaware that what they've spent hours or days painstakingly crafting already existed as a library routine. But folks were reading Ecclesiastes long before they were writing code... Just because a concept applies to our line of work doesn't mean it's somehow unique to us. – Shog9 Jun 12 '10 at 21:43

Many questions with lots of upvotes get locked. Three of the four most upvoted questions are locked.

  • 1
    And that's a shame. Before I read this answer stackoverflow.com/questions/84556/… I never succeeded in convincing people that adding yet another text box was a bad idea. Now, I mail this cartoon to the Product Owner, and he actually gets it! – Andomar Jun 12 '10 at 9:28
  • 3
    @Andomar: The cartoon question was actually programming related. It was locked because it was an old poll question that had too many high-voted answers to allow new answers any hope of being read/useful. The question you're harping about is a poll question and it's not programming related - and without some extremely flimsy rationalization, you can't claim that it'll help make any of us better programmers. That's 0 for 3. The only reason the question isn't being locked and deleted is its historical value. – Aarobot Jun 12 '10 at 13:53
  • @Andomar: While UI design of course intersects with programming, it sounds like that particular issue (especially controlling customer's expectations) isn't even relevant to SO. You might find UX Exchange, Q&A site for user experience professionals, better suited. For discussion questions in general, try a site dedicated to discussion instead of a Q&A site. There are lots of good non-Q&A resources out there, don't limit yourself! – Gnome Jun 12 '10 at 17:41
  • @Gnome: Well the explanation is visual, but an interface that is both simple and powerful requires a solid amount of good code! – Andomar Jun 12 '10 at 18:53
  • 1
    And if it is was a question about how to create that interface then it would be dynamite. A cartoon that basically says "you should try to simply your UI", in a poll question that nobody will ever find in a search for UI design, isn't particularly valuable. It's a good cartoon. It's a lousy question. I would honestly like to know, @Andomar, if you can think of any question that you wouldn't consider to be programming related if you added the word "programmer" to the title. – Aarobot Jun 12 '10 at 19:38
  • @Aarobot: I'd vote to close: How are programmers made? What's the best food for programmers? What's a programmer's favorite car? They are not unique to programmers because the same car that's good for a programmer is good for a non-programmer. That's not true for books: programmers benefit from different books – Andomar Jun 12 '10 at 20:44
  • 1
    @Andomar: programmers are special because they imagine that programmers are special. – Shog9 Jun 12 '10 at 20:48
  • @Shog9: The question whether programmers are special with regards to books can be answered objectively. Compare the programmer and non-programmer votes for books. For example, "The top 100 books of all time" guardian.co.uk/world/2002/may/08/books.booksnews does not even mention the Hitch Hiker's Guide – Andomar Jun 12 '10 at 21:22
  • 2
    @Andomar: pick any group of people and ask them to recommend some books, and you'll find that the set differs from the set of books most recommended by the population at large. Slashdot's favorite books would differ from Reddit's favorite books would differ from CodeProject's would differ from Stack Overflow's, Perl Monks'... Different people like different books. Don't suppose for a minute that a love for the HHG is somehow unique to people who program computers! – Shog9 Jun 12 '10 at 21:35

I’d agree with you, but then we’d both be wrong!

You must log in to answer this question.

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