I apologize in advance for sounding like an elitist prick, but in my mind, community-driven sites like StackOverflow, Reddit, Wikipedia, are prone to the noise of do-nothing armchair experts (especially in this economy with the unemployment rate) who have nothing better to do than stir philosophical debates over nothing.
As a person with a job who actually needs answers rather than reading through pages upon pages of discourse that goes absolutely nowhere, I appreciate StackOverflow's approach to moderation. StackOverflow is a place for specific questions and specific answers, not subjective nonsense questions like "how secure are sessions in PHP?" that, on this "Not Constructive" website, I imagine will be flooded with answers ranging from "PHP SUXXX LOL GO PYTHON" to "In my opinion, sessions are inherently broken blah blah blah". While the moderators may be able to mitigate these issues a little bit, the problem isn't so much with the answers as the question itself, which has no "correct" answer.
So, while I can see why people with a lot of free time might want to go to NotConstructive as a diversion, I foresee this site as little more than an informational black hole of back-and-forth BS.
My major disappointment with SO is how we lost the desire to be helpful and ended up with the desire to be "correct".
There are many questions that I would find helpful that get instantly closed because they are "not constructive". I'd like to hear my peers opinions on the respective merits of the latest javascript frameworks but that's "not constructive" so it gets shut down.
I like to help people so I occasionally decipher weird English and try to work out what they need.... too often my submission of my reply is then blocked because the question has been closed.
I dislike their rules about posting to jsfiddle (you must post enough code in SO for the question to stand alone).
I dislike the cliquey and "current" aspect of meta. if you're late to the party then you've missed the discussion and we've already decided.
> we lost the desire to be helpful and ended up with the desire to be "correct".
But that's the whole point of StackOverflow. Right on the about page is their mission statement:
Ask questions, get answers, no distractions
This site is all about getting answers.
It's not a discussion forum.
There's no chit-chat.
And while yes, it may be interesting for you to know what the "latest and greatest" of the Javascript frameworks is, that's really not the point of the site.
Why? Because the answer is inherently subjective. It's open to interpretation and flame wars. In a year, it will also be obsolete.
Compare that to a trivial question, like:
How do you create a while loop in C++03?
Which is incredibly basic, yet will always have 1 correct answer that will then be added to SO's vast knowledge base.
There's also the great side effect of StackOverflow then becoming a place for real-world problems for actual practicing programmers rather than a debate forum. The "best Javascript framework" might sound like a great topic for you, but it's also indicative that you haven't actually started any work on a project, compared to, say a person trying to figure out how to do two-way binding in Knockout.js. I'd much rather have a site full of real-world issues that are getting solved than a site dedicated to theory-based bickering.
So what about the questions pertaining to "obsolete" frameworks, should we scrap those too?
As exciting as this judgement of what is good information and bad information is its somewhat ironic that this categorisation is....... subjective. We have merely replaced flame wars with these debates. I don't think the time sink of productivity that you're evidently susceptible to (look at us both here!) is something that avoidable through censorship but a struggle that everyone must learn to deal with.
"How to create a while loop in C++03" is as you stated a terrible question become obviously this person hasn't even started on a project. Why don't they read a book? Is this their homework? ;)
Whereas when I found the closed question on javascript frameworks I was looking to make some major modifications to an existing web site. Problem is that its not as user-friendly as I'd like and the Javascript is becoming a mess so I think it would be a good call to go with backbone or knockout but I want a few sample opinions as part of my _research_.
But according to a response you gave me elsewhere, talking to peers that are probably more experienced in a given part of the field doesn't count as research. D:. According to the parent of this response my work related questions aren't even "real-world".
My issue with SO is they made a tool for developers who used it in many different ways. Then over the course of the next year and a half they started locking down on how _they_ wanted it used, (and by "they" I mean the most aggressive culture that prevailed amongst the owners/mods) I just find this a disappointment and a missed opportunity.
I had contributed over 10k's worth of rep there but after a while I just stopped going. It stopped being fun, it was no longer a community, we were no longer trying to help others as our primary goal. It made me sad.
SO has always had a very specific purpose in mind, and this has been advocated by Jeff Atwood, et al since the beginning. It was never meant to be a discussion based site. In fact, to quote the man himself,
"At Stack Exchange, one of the tricky things we learned about Q&A is that if your goal is to have an excellent signal to noise ratio, you must suppress discussion. Stack Exchange only supports the absolute minimum amount of discussion necessary to produce great questions and great answers. That's why answers get constantly re-ordered by votes, that's why comments have limited formatting and length and only a few display, and so forth. Almost every design decision we made was informed by our desire to push discussion down, to inhibit it in every way we could. Spare us the long-winded diatribe, just answer the damn question already." [0]
The entire point of StackOverflow is to answer questions as quickly, accurately, and efficiently as possible. You want more discussion? There's a chat room available. You want long, permanent discussion about (e.g.) the merits of various JavaScript frameworks? You're on the wrong site.
Plain and simple, SO is not (and never was) meant to be "a tool for developers who used it in many different ways". It was meant to be sued in one way: ask a concrete, specific, real-world question and get one specific answer that will always be correct.
Discussions about obsolete frameworks are fine. People still use them. If you are asking a question with a concrete answer that will not change, go for it. And by will not change, I mean that an answer about how to do something in Python 2.6 will never change, even though the version itself has been superseded by Python 2.7 and 3.x. That's still the right way to do the thing you want in Python 2.6.
Perhaps to most important point you are making is that "this judgement of what is good information and bad information is ... subjective. We have merely replaced flame wars with these debates." But the thing is, no one is really debating. This question was answered when the site began. Or certainly not long after. SO is a finely tuned machine, really, really good at one thing: answering practical questions in a practical way.
In fact, read up on the Coding Horror article referenced above[0]. Jeff Atwood talks about Discourse, a framework he and some other folks are trying to put together to address the need for a really good discussion-based environment. He makes the point that forums are the place where these discussions happen and are saved for posterity, and that's how it should be. When talking about the option of Stack Exchange as an online community for discussion, he refers to it as "quite frankly, terrible", because "We only do strict, focused Q&A there."
That really should put the issue to rest. SO is not a place to have open ended discussions. That's what forums are for.
I always thought the purpose was to kill off expert's sex change but I appreciate your post and the quotes. I don't really think how its ended up is right or wrong just not what I was hoping it would become.
It's a bit of a shame because the only thing going for expert's sex-change was the communal aspect of helping people (although obviously this process was used to extort $) but SO has lost that a bit.
The issue is that there are now three parties. On mailing lists and IRC channels its typically just two. One seeking help and one-to-many helping. But on SO there is a third one that is seeking to identify whether or not the two parties should be allowed to be exchanging information in the first place.
But that's Jeff's dream and he's achieved it. Maybe its just not for me. That's fine, I'm a bit of a weird one to be fair and don't really expect to be catered for. The only thing that bitterly disappoints me is that save the idealogy through moderation it works almost exactly how I'd want "my perfect Q&A site" to work (I think the format is actually better than a forum). The technology is there but they just chose correctness as their #1 priority.
My frustration isn't fueled by sitting by an armchair and imagining about a philosophical problem that doesn't exist yet. I am talking about a REAL issue of Stackoverflow. While my php sessions example was average indeed, I would point you out some specific hurdles faced myself while using the site.
For example, while securing cookies for authentication (language independent, but try JAVA for this example), you could use two routes - Either Encrypt then HMAC it or, use something that combines this both by default (like AES-GCM). Now, if you search on this particular subject on SO, you would find genuine questions messed up and half of them migrated to crypto.stackexchange.com and the rest to security.stackexchange.com. And this is the crux of my parent comment.
Sorry if I appeared to be sitting on an armchair thinking about what debates I could stir while in reality I'm just like any other developer out there trying to find something useful from the site, hoping to make it better.
And yes, your apology for being an elitist prick is accepted.
This is a real problem with the stackexhange platform, which is fragmenting communities. While there is a genuine reason to do it, I think the decision was primarily based on "business". My opinion, I could be wrong.
Before assuming it's just going to be things like "PHP SUXXX LOL GO PYTHON" check out some of the questions that have been closed. Here's one I came across this morning on open source face recognition libraries:
The original question was asked in June of 2009. It was marked as "protected" in June of 2010. Then it was closed as off topic in April 2013.
While it may be true that the question itself is not framed particularly well, the answers are really useful, including one from November, 2011 that was posted more than two years after the original question.
If the original question was considered off topic in 2013, then it was presumably also off topic in 2009 when it was originally asked. If it had been marked that way at that time, some very useful answers would never have appeared.
That is your example of a good question on StackOverflow that was closed?
That question exemplifies why SO needs moderators. The question is "I want this GIVE IT TO ME. I refuse to do any research on the subject."
It should have been closed in 2009, but SO hadn't been inundated with horrible questions like that yet. The current moderation, while having gone a little too far I agree, came into being because of questions like that.
You're conflating 'Is this useful?' with 'Does this belong here?' I suppose someone else doing your work is always useful to you, but it doesn't belong on SO.
There are questions that get closed where people have done their work and have asked in a good way. Current SO moderation has gone too far in cases. However, this is not one of those cases.
What the hell is up with that attitude? You're completely missing the point of a welcoming community by closing the door with an RTFM sign. He's writing his own shit but is wondering if there is a library out there already that is better/already does it.
The point of a community is to be helped and then help. You make it sound like you got to where you are by yourself and that's the only _correct_ way. To be frank this attitude has no place in a community.
"Does thing belong here?"
NO. "Are we helping each other?" That's should always be the purpose of any community site and the reciprocation of help is something that has driven every newsgroup, irc channel and community dev sites for DECADES.
Do it for me is not a question. It is a demand and a lazy one.
> You make it sound like you got to where you are by yourself
Hardly. I ask questions. RTFM doesn't answer everything, nor does it explain, but you actually ask intelligent questions and are in a position to understand answers if you did some work before hand. Of course the referenced post wasn't looking for an answer to understand, they wanted 'use libfoo.'
> "Are we helping each other?" That's should always be the purpose of any community site
I have to write a script to install this thing here at work, would you mind doing it for me? That would be a BIG HELP to me.
See the problem yet? Technically it is a question, it would be a help to me. I suppose a community site would be more than happy to go about that then.
Oh and the response on any newsgroup for decades would be "Do your own damn homework, come back when you have a question."
I know what you're talking about but I think you just failed to read the second paragraph of the post.
> I'm using OpenCV for detecting the faces and a rough Eigenfaces Algorithm for the recognition now. But I thought there should be something out there with a better performance then a self written Eigenfaces Algorithm.
Does this sound like a "plz send me teh codez" to you?
Yes, I did read the whole thing. He asked, tell me what library to use. That was the whole question. It was very much a 'do my research for me' question.
"I want to do this. Tell me what library to use."
"What is better ..." questions are closed on SO for the same reason.
There is a trade off between having a site like SO, and a forum (and all the grey areas between).
One is time sensitivity. What technology libraries 4 years ago is still the top-of-the-line library today? Maybe face recognition libraries ages better than say a web frame work or data base access library, but its a very fuzzy line which requires a crystal ball to get right. Such questions is better places on sites like HN (ask HN).
The quality of the answer is the other big trade-off. Would "I'm looking for a free web framework in Python, Java, C++, or C" create the same quality answers as "I'm looking for a free face recognition library in Python, Java, C++, or C"? My guess is it would not. This mean that two similar looking questions will get very different quality in answer.
One could suggest that OS invented something like wikipedia's ignore all rules policy, and let moderators decide to allow the question about Face recognition Library but not one about web frameworks. That could make the system more useful, but also create more issues.
Time sensitivity is becoming an issue for SO, but I would think that's a reason to leave time sensitive questions open rather closed - so they can be continually updated.
>I apologize in advance for sounding like an elitist prick, but in my mind, community-driven sites like StackOverflow, Reddit, Wikipedia, are prone to the noise of do-nothing armchair experts (especially in this economy with the unemployment rate) who have nothing better to do than stir philosophical debates over nothing.
One man's "philosophical debate over nothing" is another man's passion.
And one man's "productivity" is another man's who gives a fuck.
I imagine something like the Ask* subreddits (with smart, but firm moderation) for programming would be good: http://www.reddit.com/r/askscience
Moderation is strictest at the root, and you can collapse all the trees with a link near the comment form. However, the discussion is the best part. It's where smart people share their knowledge, and other smart people add on to what was said or offer different takes. But you can stick to the root for the Stack Overflow style straight answers.
As a person with a job who actually needs answers rather than reading through pages upon pages of discourse that goes absolutely nowhere, I appreciate StackOverflow's approach to moderation. StackOverflow is a place for specific questions and specific answers, not subjective nonsense questions like "how secure are sessions in PHP?" that, on this "Not Constructive" website, I imagine will be flooded with answers ranging from "PHP SUXXX LOL GO PYTHON" to "In my opinion, sessions are inherently broken blah blah blah". While the moderators may be able to mitigate these issues a little bit, the problem isn't so much with the answers as the question itself, which has no "correct" answer.
So, while I can see why people with a lot of free time might want to go to NotConstructive as a diversion, I foresee this site as little more than an informational black hole of back-and-forth BS.