Recently there has been a large heated discussion about the appropiateness of the question File I/O in Every Programming Language. With (as of this post) 127 upvotes and 116 favorites, the community seems to like this question. However the small amount of 3k's keep opening and reopening it, and we have no idea if its appropriate.
Note: For this question I am going to be using the FAQ since its the only official document we have. All the FAQ CW questions here can't be relied on since they are editable by the community. The official FAQ is only editable by site admins, and is therefor considered official.
So, lets look at the one sentance most closes quote
Avoid asking questions that are subjective, argumentative, or require extended discussion. This is not a discussion board, this is a place for questions that can be answered!
Okay, thats pretty clear, and gets rid of the "Which one is best: X or Y?" type questions. But how does the above question even fall under that. Is it argumentative? No, because there is nothing to argue about. Is it subjective? No, because your not judging a thing, your upvoting the one that you like (which is the entire point of voting). Does it require extended discussion? Not really, since the stream of answers can be stopped at any time without breaking a discussion.
Here are what some people say in the comments
The problem with this is that it won't show up in searches for a specific language as it's not, nor can it be, tagged with every language. – ChrisF
@Andreas: Code-golf has a special remit, and it is not based on any claim to provide a encyclopedia on "How to do it". Further, even if people find this "question" the examples supplied are too limited to be of much help without finding a separate discussion or going and reading the documentation...so, what's the point, again? – dmckee
I discuss code golf and CW farther down
I don't understand why this question is closed. Isn't the purpose of this site to help people find information? If someone knows how to do something (like IO) in C, and wants to learn how to do the same thing in Python, this could help them by allowing them to see both side by side. – Slapout
This was upvoted 20 times, and does give a valid point
I also don't understand why this is closed. It seems like it's just because it doesn't include the words "...in the least amount of characters..." which is pretty silly. Code golf is a fun exercise. But is it really useful to make all the rosetta-stone questions have obfuscated, tiny code in all the answers?
Upvoted 18 times, and says one of the major issues: What about all the other rosetta-stone questions (some of which aren't code golf)?
I wasn't trying to be abuse, just a little bit abrasive ;-) It comes from a bit of annoyance with the over zealous moderation here. There is nothing wrong with fun questions, so long as the site doesn't get overrun with them. This is community wiki and better then most, so if you close this you are just being a jerk. – Matt Briggs
I've said this for a long time: There is nothing wrong with a fun question every once and a while. Me and tons of other people are happy that they come along, just as long as they don't flood the site.
SO is primarily for questions that actually have answers. Give me a snippet in every language imaginable doesn't really fit that. That being said, "soft" questions are typically allowed here, for a period of time, and only if they are community wiki. Origionally, the author was pretty much bashing all the answers, that alone is close worthy, but that was removed. What I was saying is that this falls into that category, and if you still voting to close, you are being a jerk. I am sorry if you were offended, that isn't really offensive language where I am from. – Matt Briggs
Folks, the only reason this stayed open as long as it did is because it was asked at the weekend. If this was asked anytime Monday to Friday it wouldn't have lasted 5 minutes. This isn't what SO is for. I encourage you all to read the FAQ, I'm sure for some it won't be for the first time either. – Binary Worrier
See above where I've throughly destroyed that argument about the FAQ. And it would be interesting to see this question during the week, but nobody can predict the future.
I don't understand how this is fits a Q&A site: at least with code golf, there's a somewhat objective standard by which to vote on answers: the shortest or most clever answer gets the most votes. With this: what is it, how many people like Haskell? Questions like this are like trying to shoehorn every possible type of content into a system that's designed for only one. What's wrong with the rest of the internet for handling this? – Mark Trapp
This is a valid counter-point, but a small section was added afterwords stating
Vote up answers which have good naming conventions, and are easy to understand.
With having the rest of the internet take care of this, that defeats the purpose of this site. I believe it was Jeff who said that SO should be a one stop shop for all programming questions. This principle prevented things like LMGTFY, so that when a random user clicks a link to a question on SO, all of the information is contained there. Using this principle, pretty much anything programming related is okay on SO. And you can't argue with the FAQ's on other sites which point programming questions to here
So I figure here we can create a community resource << How do you know the code snippets actually do what was asked? – igouy yesterday
This is the reason it was community wiki and voting exists, so that wrong answers get downvoted and edited by the community.
Why this doesn't work well. No information about the pros and cons of each approach (what languages support only one way?). No discussion of the trade offs and deep issues in each language. Limited scope which implies that the need for a bajiliion separate "in Every Language" questions. And most of all there is no community moderation of the quality of each answer. Why do I say no moderation when people are voting on them? Because there is supposed to be only one answer for each language, and people wont read enough answers to see multiple alternatives in their field. – dmckee
This is why comments exist, and why Python got multiple answers. Person doing something stupid (IE in java wrapping a
BufferedInputStream around a
InputStream from a
File when the newer
Scanner does it better and cleaner)? Make a comment and downvote! Person use a controversial approach? Comment! Person use the best approach? Upvote!
Community moderation? Its CW you know... Getting all the alternatives for their language? Why not use the table of contents, scroll down to your language, and click to go to the answers? Easy!
The answers, along with each contributor, already exists in the text under the question. Duplicating this info is redundant. If you keep editing the question, it is eventually going to be locked. – Marc Gravell♦
More of a general argument against table of contents, a ToC is appropriate when its essential to navigate or highlight answers. Removing such things would be detrimental to the original purpose of being a easy way to get started.
Admittedly, I usually like language-agnostic challenge questions (like code golf), but I'm starting to doubt their appropriateness on SO. And this question illustrates why. It highlights a rather glaring problem: the voting mechanism ends up meaning absolutely nothing. On a normal question that asks how to do something for a specific language the voting helps to move the best approach to the top. But for questions like this, people seem to vote more for what's amusing or what's their favorite language, so it's just a popularity contest. Vetting of an answers correctness is hindered. – gnovice
This is an issue with community wiki in general. Lets look at what the FAQ says (Note: taken from this FAQ question since its not mentioned in the official FAQ. However it last edited by random♦, so its close enough)
One of the goals of the website is to be a continually evolving source of good information. Community Wiki posts help enhance the wiki aspect of the site.
Well, I think this sums that up. This question falls under that broad subject, since it provides a continually evolving (can add in other languages or variations of languages at will, even provide updates due to API changes) source of good information (knowing how to do FileIO is a great thing to know, and this shows how multiple languages do it).
However lets step away from the FAQ and just look at community questions as we know them. They are created when a question does not have a correct answer. Why doesn't it have a correct answer? Because its subjective. There is no other reason. From the code golf, to FAQ questions, to fun questions, thats the reason: There is no correct answer. Since they are subjective, they attract discussion, sometimes extended discussion, as well.
So then WHY are community wiki questions closed as argumentative? This makes no sense since thats the point of a community wiki post. If we are going to continue to close CW questions like this, then maybe we should just get rid of community wiki.
And lastly, 3k's need to listen to the community. That question was upvoted 127 times (probably more since I can't see the split yet), and favorited 116 times, along with comments in favor of staying open being heavily upvoted. The community likes this question, and wants to keep it open. Hell, even some 3k's opened the question. 10-14 people vs close to 200 people means that you are the minority. Listen to the community, or stop closing questions.
Can a moderator make a judgment on this and protect it, along with a stern comment on their judgment? This is getting out of hand