I'm split on this topic, I've often asked a few questions and got very hostile responses & topic closed. On the other hand, some of my questions have been answered in depth by some very nice contributors; Jon Skeet being one of these.
In my opinion, it's just another unfortunate side effect of anonymity on the internet. It's terrible, and I wish people were nicer to each other.
It has little to do with anonymity: local newspapers demand you sign off comments with your Facebook account.
The result? The only people that comment are trolls with fake account, people who have too strong opinions or don't care about their next job interview or people with "correct" opinions.
Meanwhile I rarely see anyone here or at the Ars Technica comment sections suggest we nuke one country or the other (and if anybody do we collectively moderate them beyond ground level.)
I think it's a bit like Wikipedia: the more you hang around, the less you like it. It's understandable though; after the 12324th question that basically boils down to "please do my homework", even a saint would lose his shit. It's the inevitable fate of every "beginners' resource", from IRC to forums, in the long run.
Personally, I had decent experiences in most cases. I never got over the fact that it refuses to become the de-facto point of reference for stacks, i.e. questions like "what are the best web libraries for $language", "what is the best practice for deploying $framework" are brutally rejected. And it's a shame, because those would have helped immensely -- it's very easy to learn a language, but it's really hard to figure out what you should use from the surrounding ecosystem.
Where are we supposed to get opinions from? Would we have a success if we started "OpinionStack.com"? I believe if we did so, we should outdate the votes, so the top answer would be the most fashionable nowadays.
This seems like a good use case of their community wiki feature. List the major ones, and suggest the rationale and tradeoffs for the different major choices.
You can actually find a few of these questions floating around marked as "wiki answer" and locked to prevent the otherwise inevitable flood of duplicate answers.
Problem is that most people don't want to maintain these lists. The handful of exceptions stand out precisely because they have a few dedicated maintainers who've dutifully kept them relevant for years... Most of them, though, died from neglect and were eventually deleted out of mercy.
If people really wanted or needed those lists, someone would create a site for that purpose. The reality is that such a site would fail terribly, because those kinds of lists are opinions people won't agree on, and go out of date incredibly quickly. If you search for such a thing, you'll find blog posts from people giving such lists, and most of them will be useless because they are out of date.
StackOverflow is a good resource precisely because it's curated and maintained, including rejecting content that doesn't work on the site. Just like Wikipedia doesn't allow you to have your own page listing your opinions.
> those kinds of lists are opinions people won't agree on
That's why you need voting, same as traditional SO.
> and go out of date incredibly quickly
I can see that being a problem -- but it's a problem even for regular SO questions, since languages evolve (the best way to do X in python 2.3 is not the same as in python 2.4, let alone 3.x).
You could simply timestamp votes and progressively devalue old ones, like tajen suggested.
> If you search for such a thing, you'll find blog posts [...] useless because they are out of date
Absolutely. Blog posts and wikis are terrible at keeping up, they are fundamentally static and require a lot of work. For example Fullstack Python [1] is nice but it's probably an immense effort. It would be nice to have some semiautomated way to highlight stacks that can self-maintain and stay relevant.
This kind of cuts both ways. I stopped answering Stack Overflow questions because now there is such a huge amount of trivial questions that are easily answered reading manuals or tutorials that it became hard to find interesting questions to answer. There are certainly other factors at play like me getting more experienced and therefore what I consider interesting shifted, Stack Overflow already has answers to a huge amount of questions and so on. But I am pretty sure that the kind of questions asked objectively shifted quite a bit towards trivial questions.
Now it depends on what you think about what Stack Overflow is supposed to be. I personally think Stack Overflow should be focused on providing information that not already exists, I don't think it should try to replicate or link to every manual and tutorial out there. This stuff already exists and is hopefully actively maintained by the language and library developers, so what is the point of duplicating it? I think Stack Overflow should not be about teaching people how to code but help them to solve hard problems.
What constitutes a hard problem of course heavily depends on one's experience and abilities so the line is kind of arbitrary but I would say that if it is in a beginners tutorial or the manual, then it is not a hard problem. I certainly unterstand the desire to get problems solved within minutes but I also think that is not really a good thing. No matter how good and experienced a developer you are, you will come across problems that take hours and days to solve again and again. Reading ten pages of a manual should really not be considered an annoyance but a valuable skill.
Very often you will already have a rough idea of how you want to solve your problem and just look for some very specific information, but if you take the time to read about it you will often find that your initial solution is actually not that great and there is a different preferred way to do it. So if there is one advice I would give to beginners than it definitely is »Read the fucking manual!« and probably read it twice.
>Beginners need guidance. They’re dumb and they flail around and they get stuck on “easy” problems. That’s why resources like Learn Python the Hard Way and Stack Overflow exist in the first place.
No.
There's a lot, A LOT of resources online for beginners.
let the nerds run SO, it's perfect as it is for people who know what they are doing.
Maybe SO could better integrate this type of thing with results. Example: "Your question is simple but I know this great starter guide or Book on Amazon that can help you find your way".
Yet SO is filled with people asking "how to homework" or want something they can copy/paste into their program. I've seriously seen an OP ask why the answer's code didn't work because it used variable names not present in the OP's code. Yet there was no way to know what the original variables were called because the OP didn't provide any code.
Part of the problem IMHO is, that SO tries to be two things at once. It says, it shall be a help portal for programmers, but at the same time they want to be something like Wikipedia for programmers.
Both things do not fit well together. When you want to help others, you must allow any question that is earnest. When you want to be an encyclopedia, you have to filter questions very harshly.
Sadly, together with this, the self-moderation feature of SO attract people that are more interested in enforcing rules, instead of helping people.
Back in 2009 and 2010 I used to participate heavily on SO. I asked and answered questions and it was a great resource for me.
At some point I stopped needing it, my questions became too specific and I got tired of answering the same questions. At that point I had about 20k karma points.
I've recently needed to ask a few answerable questions so I went back.
All my questions were closed or down voted and people reduced me for asking such bad questions with 25k karma.
SO is now useless unless your question fits exactly into some mold they require, ie questions someone with 2-3 years experience might ask.
Lesson learned is that if Google returns a result that doesn't appear to match your request, then ctrl-f is your friend. This applies in many areas besides programming.
Google really tried to unlearn this a couple of years ago.
Back when any question you would ask would have at least 20000 answers it seemed only the pages never contained the text, they only where in the index because of some link with that text.
This looks like a problem that would be solved by splitting that Python manual page. All the information is there, it's just that the whole page is rather long and it's possible to miss that it is in there.
Good point. The Python manual pages are actually rather long-winded, and try to intersperse narration with sporadic usage examples. It's too long-form to be a reference, and too context-free to be a tutorial. I'm not surprised Python questions are so frequent.
When I was getting started I occasionally got some angry responses on SO. In the end it was good for me. People were willing to point me in the right direction but when you don't even know the fundamentals they're just wasting their time and doing the work for you. If you take the time to learn the fundamentals, any basic question you have already has an answer on SO and you will be able to use it.
Well, while I agree that SO might have become a somewhat elitist plateform, maybe partly because a lot of professional developers are using their SO account to enforce their curriculum, it is not either supposed to be a kind of nursery for "wanna be" developers that happen to have a quick look on programming languages, and think SO is a forum where any question can be asked.
Sorry to say that, but I'm neither surprised nor offended by the closing of that post.
Just as the article observes, it's really ironic that many, many google searches for "how to do X in language Y" lead to questions on SO that are marked as [closed], 'not a good question', etc. Often, the accepted answer is a variation of RTFM, but sometimes with an inline code example.
Also ironic is when the question asks for help in choosing between frameworks or libraries of comparable functionality and it gets marked as [closed] 'opinion-based'. What's a good question then?
I understand that SO wants/wanted to discourage becoming just a copy-pastable repository of code snippets for common patterns, and that they also don't want to be full of thinly-veiled marketing posts about why framework X is better than its competitors. But then what content DO they want? (Rhetorical, but in-depth questions about API usage are probably the best ones to ask.)
I treat SO as read-only, and that makes it a valuable resource for me.
I've been using the site since the beta, have thousands of karma and twenty+ years of experience, and yet I can't ask or answer a question anymore.
When I answer a question, it gets downvoted and then an inaccurate answer gets accepted and upvoted.
When I ask a question, it gets marked as a duplicate, and then they link to the question it's a duplicate of, which is a question I found in my own research that was exactly the opposite of the question I had.
That community has become completely toxic and I can't participate it in anymore.
I had been participating in Stack Overflow since its public beta (though I'm not an active participant anymore), and this topic comes up every now and then, but the astronomical growth of Stack Overflow has not stopped. The composition of all-time high users are also quite a bit different from a few years ago. I am not saying there is not a problem, but I take complaints like this with a grain of salt these days.
End of the day, I think it is important to keep in mind what Stack Overflow is not: it's not Khan Academy. It's not college classes. It's not your IRC buddy. It's more like Wikipedia (but not quite exactly that) than those things. Some choices should be made to keep the content quality high.
Problem is as have been pointed out again and again: there are so many amazingly useful questions closed as "not constructive". All while IIRC quiz-type "trivia" questions seems be more OK.
What I think the experienced users are missing is that newbie questions are an opportunity to let a newbie answerer learn to teach. When I decided I wanted to start helping out on SO I found it almost impossible for months because the easy questions were instantly shut down with a frustrated response from an elder statesman user.
It's like when there's one guy who has maintained a system for years and won't let anyone else touch it but also complains about having no time for other projects. Eventually he has to let someone new take over parts of it, even if it means that at first it takes a little longer and it's not done quite the way he would.
I'm a 2k user and I've never asked a question. I find that the greatest benefit to my learning has been trying to answer someone else's question. That being said, I'd say on average there are 2 "async loop" questions on the "newest javascript questions", both of which tend to get an answer by a newbie and still get marked as a dupe. Just because it gets closed, doesn't mean you can't work on answering it. The research will benefit you whether or not you get the validation from answering it. However, I do understand that it's hard to know if it's the right answer without the feedback of an upvote or two.
Ha! I'm in almost exactly the same place. I set a goal of asking a positively ranked question recently and finally made it happen.
What I'm trying to get at is not that low quality questions should be accepted, it's that when they are rejected a kind tone should be used so that new users are able to take the suggestion without being defensive and so that they feel encouraged to get better and try to keep participating.
The StackOverflow question given as an example is a terrible question.
Odds are that neither the person asking the question or the person who wrote this blog post realize how big the subject is, but since the question just says "tell me everything and I'll figure out if it's relevant," there really is no good way to answer, other than a link to the doc page and a little prodding along the lines of "what are you actually trying to do?"
The problem is that most users are not reading the FAQ and they don't use Google nor the search function on SO itself. This leads to the frustration of the experiences users who see a lot of malformed/unanswerable/duplicate questions. I see this every day. I usually don't comment and just vote on "close" silently but there are some users who are openly communicate their frustration and honestly they have a reason. I think that SO should come up with some NLP solution which filters out those questions and informs the offending users that their question is problematic. I have asked a LOT of questions on SO (136) and if I follow the guidelines I ALWAYS get quality responses. The problem IMHO is the lazy newbies who don't bother to read the guidelines / FAQ.
I do generally agree that Stack Overflow as a community is too enthusiastic about closing down some questions. It's always particularly frustrating to Google for some weird error message and find a Stack Overflow discussion which has been killed off because the question was inappropriate :)
But, that said… I'm not sure this is a particularly convincing example of this phenomenon. This is an example of something which can easily be found by reading the documentation, and I'm not convinced that Stack Overflow is the correct place to ask for other people to do your research for you! In individual cases I don't doubt that it's fine, but I imagine it gets frustrating to deal with repeated questions of this character, especially when we now have the benefit of such easily-accessible online documentation.
There is a balance to be struck, I guess. No reason to be rude even when silly questions are being asked.
I think the point the author is making is that what can be easily found in a language's docs is subject to the same learning curve as what can be easily done with the language. Skill in docs reading comes with skill in the practice and understanding the concepts of a technology.
Someone can make an honest and unsuccessful search for something that is blindingly obvious to another. If new users have difficulty using the documentation, that is sufficient proof that the documentation doesn't adequately serve new users (besides new users who magically know how to learn like experienced users) and that's where Q&A communities come in.
The rules say you have to do research and you have to show what you've tried to do. It doesn't specify a standard skill level you need to meet.
The problem of writing documentation is that it's not possible to write it to suite every person. While most documentation certainly can be improved upon it's always the matter of where to best spend my time. Developing a feature or document an old feature in yet another way to serve people with a different mindset than my own.
With the risk of sounding a bit of "it's programming it's meant to be hard", I feel the author is a bit spoiled. It's not as if the information wasn't there, she just needed ctrl-f "%r". This is also something you need to learn when learning how to program. In fact I would say that looking up information online is a fundamental programming skill (it didn't use to be, back in the days it was finding stuff in books, but we're mostly past that now, ctrl-f is so much nicer). So she just learned a very valuable lesson, I'd say.
I agree with your take on documentation, and I agree that there are some difficult concepts even in basic programming that you just have to work hard to learn.
Reading dense documentation is a programming skill, so it doesn't seem ridiculously out of bounds to be still in the process of learning it when on a programming education site.
What I'm trying to say is more along the lines of "if you don't have anything nice to say don't say anything at all." Saying "oh hey try ctrl f on that documentation page you looked at" would be a valuable response, saying that asking the question is dumb isn't a positive contribution and is likely to make the asker defensive and unlikely to really learn from the experience.
>Saying "oh hey try ctrl f on that documentation page you looked at" would be a valuable response, saying that asking the question is dumb isn't a positive contribution and is likely to make the asker defensive and unlikely to really learn from the experience.
I agree with the sentiment that being snarky doesn't help, but I think ddebernardy is correct when saying:
"Sure, a good samaritan could do the work, figure it out, learn something new in the process, and answer. Maybe they'll even answer it another few times for the feel-good factor. But at some point they'll get bored or irritated, and therein lies the rub."
Personally after having answered a lot of questions - in a nice, helpful way, mind you - questions whose answer could simply be "RTFM", these days I just avoid them. The problem with these kinds of questions are that more and more they offer nothing to the person answering them. A lot of them are asked by people who created an account on SO just to ask that question and then throws away the key (to that account). So don't expect to get any feedback, whether karma, comments or to be marked accepted. Don't expect there to be an interesting discussion with other devs with different experiences. I mean, I was answering questions on forums long before there was any karma involved just because I like to help/teach, but for that to be interesting to me who answers questions, there must be some sort of feedback. Karma is one way but I always preferred the good ol' discussion. It means I get to learn something as well. Questions answerable with "RTFM" offer very little of that.
I guess what I'm saying is that people who answers question on SO (or similar sites) are not getting paid to answers those questions. They do it for fun, learning experience, karma, status or whatever. So there has to be something in it for them as well.
I like your approach, just move on if it's not what you want to do. That should be the general rule, and I think that's what most people do.
The other benefit is that it leaves the door open to new participants, who are excited enough to know something that they don't mind not getting the upvote. Online communication is one of the most important skills to have, and every skill takes practice.
The original question (not the blog post, but the question) was "I've been looking for the list Python format characters for a good 30 minutes. I can't find any. ... I need a list with them along with a description if possible please."
What better answer is there than a link to the documentation that has that list? In this case, I don't really care if the person posting the question put any research on their own. They specifically asked for a dump of everything, and got what they asked for. If that wasn't helpful, perhaps they need to ask a different question.
The big idea of StackOverflow was to move information out of silos. The first targets were message boards and expertsexchange and mailing lists. But part of its success has been making information more accessible than official documentation -- all of the vagaries of Javascript's scoping is right there in the spec.
> It's always particularly frustrating to Google for some weird error message and find a Stack Overflow discussion which has been killed off because the question was inappropriate :)
I'm a bit torn on those, tbh. The answer to those types of questions (and many other low quality questions) are typically in a blog post or in the docs a couple of positions further down in Google search results. At the very least the latter will provide a few interesting leads and hints on what's wrong.
A user who asks such a question on SO directly, without as much as a reference to the latter, is basically sending the message that they can't be bothered to do their own research or thinking, and are de facto abusing the time of those who do. But they'll never learn the problem-solving skills that are so critical to being a good engineer.
Sure, a good samaritan could do the work, figure it out, learn something new in the process, and answer. Maybe they'll even answer it another few times for the feel-good factor. But at some point they'll get bored or irritated, and therein lies the rub.
(One could of course argue that some engineers lack the curiosity and the basic problem-solving abilities that are necessary to be a good engineer. But that is another problem altogether.)
> Maybe the original asker and I should have done ctrl + f for r% — but that didn’t occur to me, so I assume it didn’t occur to them either.
Great, so you've learnt something for next time.
> Beginners need guidance. They’re dumb and they flail around and they get stuck on “easy” problems. That’s why resources like Learn Python the Hard Way and Stack Overflow exist in the first place.
Sorry, but no. "Stack Overflow is for professional and enthusiast programmers, people who write code because they love it." Stack Overflow's biggest problem is that frequent contributors are getting fed up with the torrent of newbie questions from people who haven't programmed for a month.
Imagine joining Math Overflow because you're an enthusiast mathematician... only 19 of every 20 questions are about how to multiply two digit numbers. Imagine joining a DIY group after years of practice only to find that you spend most of your time building cubes out of playdough and sticks. Have you tried reading the new queue on Stack Overflow? What does this[1] even mean? (I'm actually kind'a shocked about how good it's looking right now; only about half of the questions are utterly irredeemable.)
People from the outside don't see this. There are filters in place and people who care to make them work. So all you see is the hostility and none of the reason. But please believe me when I say that it's not just us being cronies. We really do care about the site, and we just don't want to lose it.
If they would search for the answer to their question, they would get it right now instead of waiting for someone to come in and answer the same question yet again.
If you are starting out with something new, someone has already had the same problem you are. Your question has already been asked and answered.
Most of the beginner's problem is: how should I phrase this question I have?
Instead of searching for specific jargon they don't know about they'll come up with their own terms to try to explain their problem.
This is another acquired skill, nowadays to be a good programmer you need to learn how to search for documentation and how to phrase it and to learn that you need to become a programmer and be in contact with the technical jargon.
I don't know another way to overcome this except for experience, what is exactly what newbies don't have so I try not to bash them but educate in how they can find the stuff they want.
The about us statement clearly states that it's a place for developers to "Developers trust Stack Overflow to help solve coding problems..." and "...our products aim to enrich the lives of developers as they grow and mature in their careers."
Pretty clear that it's for professional programmers and not beginners. I agree that it is a bit frustrating to google something and have the SO question marked as a duplicate of another unanswered question. There are many places to learn the basics of programming and SO is not that place.
Again. Read the FAQ. It is there. The site has numerous points where they tell you to read it and the guidelines. Your lack of attention is a poor excuse.
We're not talking about my lack off attention. I've already mostly stopped asking on SO a while and when I do I only do after I have either found the answer or exhausted all other relevant options that I know off (and prepared mentally to be told that it is not relevant because of what I think is <technicality>[0] or not a good question because it is primarily opinion based etc.
IMO we are talking about every newbie that find SO every day and those who don't like dealing with them.
[0]: ok, that last one was on networking stackexchange or something.
Meh, I'm an experienced dev and no questions that I might consider posing would get past the filters, either for being too vague, too specific, asking for off-site resources or asking for opinions. To be honest I don't even know what a good SO question is anymore, and i have 8000+ rep.
You may believe the current rules and moderator brute squads work to keep the site clean, but from where i'm standing they work to make the site useless.
Do you think that maybe it is that all of the questions that can be succinctly summed up in a tidy Q+A fashion have been asked within the languages you work in?
I was messing around with Elixir (which is newish in the scheme of thing) and it's very different than asking about Rails/Ruby.
Note that asking for opinions is frequently handled through Programmers.SE. Also, "too specific" hasn't been a close reason for quite a while now (and probably never applied to you anyway).
Right on, I think the goal of having this pristine collection of content is not really feasible given how fast things change. Most good answers become bad after at most 4 years, on new tech it might not last a month.
It's good that there are rules, but what really matters is the community. People are on there are trying to get help following their passion or making their living. The stakes are often very high for the asker, making a rude response particularly painful.
I'm a moderator of a small stackexchange site. When we got started, there were all kinds of "this isn't an appropriate question for our site" arguments. I warned people that if you were too strict about what questions could be asked, nobody would want to stay. The counter-argument was you had to push for high quality questions early on to have a high quality community.
Nobody seemed able to know what a high quality question was, nor could come to an agreement on what topics specifically would be allowed.
I left the community and became a mod a year later because stackexchange asked me to - given that I had a high reputation on the site and the site itself was in danger of dying out. The site still exists today IMO, in spite of the users who are quick to criticize other peoples questions instead of answer them - and really because the topic itself is something a lot of people are interested in without a lot of other communities to go to for support.
Stackexchange's system encourages people to be bitchy and put down other people's questions. They are in the position they are because of SEO - and because google and yahoo's alternative solutions were short sighted. If the monetization model was really all that strong they would lose their market position very quickly.
I don't disagree with the gist of your argument: the quality of Stack Overflow would greatly diminish if people (newbies or otherwise) were allowed to ask questions whose answers are in the manual. But there are better ways to correct undesired behavior. For starters:
(0) Don't downvote newbies to oblivion. That's just being a bully. (IMO, downvotes should be reserved for bad answers.)
(1) When contributing an answer, provide an option to flag the answer as “taken straight from the manual”. I'll call such answers “RTFM answers” for short.
(2) When a user receives their first RTFM answer, just tell them in a gentle way that they're expected to do their research, and perhaps provide useful links, depending on the tags associated to their question.
(3) Only if a user consistently asks questions with RTFM answers, punish their behavior in some way: reputation loss, decreased question visibility, etc.
I've asked my fair share of dumb questions and even posted dumb answers, and the community has treated me relatively kindly. (I have ~7k reputation as of now.) I wish others could be treated the same way.
I'm a user with 150k rep on SO. I'm not a casual user.
However, I have been discouraged from using the site in recent years due to too many disagreements over closing and downvoting questions when actually just getting a little bit more clarification from the person asking the question would have helped a lot more.
I've answered over 1,000 questions, ranging from very simple beginner level to some things that took a good deal of research or debugging to answer. I've seen my fair share of poor questions. If a question is completely off topic, then sure, I click the "close" button immediately.
However, if it's on topic, and about some identifiable issue, but not specific enough, too poorly worded, or doesn't include a code sample, or the like, then I post a comment requesting clarification, and listing how they can improve their question. In some cases, they actually work with me, improve the question, and then I or someone else can answer it. In some cases, they just ignore my comments or continue with requests to just give them the code or the like, in which at that point I find it worth a downvote or close vote.
But a lot of the times, I've seen perfectly good questions that were just a little confusingly worded, however I was able to tease out what they were getting at, I've done some research to find the answer, and come back, only to find the questions closed. Now I have an answer for the question, but can't actually post it. If I vote to reopen, sometimes even after editing it to clarify or getting the OP to edit it, it will generally languish with one or two reopen votes. Sometimes I'll then post on meta to complain about this behavior; people being way to quick to close. This will frequently lead to enough people clicking through to reopen it, but also a torrent of complaints about how the question really is bad and how we shouldn't let this kind of stuff on the site because it's destroying the community.
The thing is, bad questions don't destroy the community. If they're bad questions, they'll generally fall off the front page and get forgotten about. They don't really cause much in the way of problems; they're just a few extra bits. But this hostile behavior does destroy the community. It pushes beginners away, who may ask better questions later once they get a bit more of a handle on what they're doing. And it pushed people like me away; people who are there to help, and willing to do so even for beginners.
I think that Stack Overflow is a very different thing than MathOverflow. Professional programmers sometimes run into thing that they need to do that they are complete beginners at; you may have years of experience writing Java, but then you wind up needing to integrate with and write a plugin for something written in Ruby, and you really have very little experience with it and so don't know where to look. Due to the huge numbers of different languages, APIs, platforms, and so on, rapid pace of change, and shortage of qualified people with the exact relevant experience, almost everyone is a beginner at something they are doing at some point in their career.
Furthermore, some people just don't know how to ask good questions online. It's a skill that takes some time to learn. If you're asking a question to someone in person, they may already have more context about what you're doing, or will be able to more easily ask you questions to clarify and sit down with you to work through it, while asking good questions online can involve a certain amount of preparation in advance to narrow the issue down to a self contained, reproducible test case, to phrase the question appropriately, and so on.
So while I agree that complete junk should be closed and delete, and people who just post "plz gimmeh teh codez" should be discouraged, I am really frustrated by the way people extend that to things that are just beginner questions, poorly worded questions from people who ar...
This is exactly why the founders of SO, reddit, even HN itself implemented a solution with certain mathematical brilliance and you've just recreated the problem again. The absolute bottom line is that no question is too stupid -- they're only too stupid for you and your inured in-group of community insiders. If you don't want to see these questions, have the algorithms hide them from you; have people who have been programming for two months deal with the questions from people programming for one month.
All you are doing here is injecting your own over-weighted bias into the algorithms and creating yet another tyranny of moderation for everyone that culminates with every single online community monotonically decreasing off peak from the point of its inception. Moderators should be more -- if not entirely -- concerned with tweaking algorithms rather than tweaking members and activity directly.
I feel a similar struggle on Wikipedia where I have to revert a ton of good-faith edits. The editors think they're improving the article, but it always falls afoul of being original research or trivia. I'd hate to discourage potential editors so I always explain why in human terms [0] in the edit summaries but to them it probably solidifies in their mind that Wikipedia is byzantine and bureaucratic. I'd much rather prefer to write content than edit war with newbies, but unfortunately every article has a half-life [1] if its not maintained. Just like for Stack Overflow, caring about the health and quality of the community is often mistaken for elitism and being territorial. (Or maybe it's a natural defense against eternal september?) [2]
I am often puzzled by Stack Overflow posts. Very often, the answer or leading link to a technical question I'm searching for is a Stack Overflow post and in the overwhelming majority of those cases the posts are marked as closed for being off-topic.
Nothing on the Stack Overflow page I came to from Google says anything about those cultural norms. This is what it says instead: "Stack Overflow is a community of 4.7 million programmers, just like you, helping each other." And then the actual answers are snotty people shooting down a newbie. Forgive me for not getting a great impression.
One scenario you fail to address is, that programmers frequently switch between technology stacks. I am a fairly proficient programmer in C++, but a simpler question in javascript might trip me. If you'are a javscript ninja, it might look like a multiplication question to you, but I am sure there would be cases where you need help with something which you haven't been doing for years.
Welcome to the programming community! People are generally kind and willing to help, but there is one caveat: there is frequently little patience for questions which you could have resolved yourself.
With time you'll both learn to identify these and to write your questions in a way that it reflects that you've "done your research."
Problem is when you are stumped with some small detail you have missed.
I must admit I have come to the point were I unconsciously just don't ask questions on SO and instead try another hour on my own instead of even trying to ask.
I find that half the time I start typing up a question for SO I answer it myself.
I'll imagine someone trying to answer it, but asking if I checked site Y on the topic first, so I'll make sure to add "Site Y only says <blah>" to my question. Only once I have added proof that it's not a trivial mistake on my part would I actually post the question, but sometimes I find out what was causing the problem in the first place.
Or maybe I'll be trying to reduce the problem to a minimal C file and the invocation of gcc that causes the error. And in doing so I'll realize what's wrong.
So I don't think it's a bad thing to get people to go over the question a few times before asking, and try and make it as easy as possible to answer the question.
I find that in preparing a question that is specific and answerable, includes everything needed to resolve it and anticipates criticism about not having done enough research myself, I'm usually able to answer the question I had myself, and even find stupid typos or or other silly little details.
In the cases that this process doesn't lead me to an answer, oftentimes I discover that either my question is too broad to be answerable, or that I am missing general education in the area and my actual question is somewhere further down.
So really the impatience and hostility towards bad questions, is a tool I use to aid me in finding answers myself.
That all sounds a little smug, but when I am stuck even after this process and actually post my research on SO or IRC or to a mailing list, too many times I get one-line answers about the tiny thing I was missing... but at least then nobody thought I was just being lazy.
I have never asked a question on SO for this very reason. I will do hours of extra research and testing and searching because I do not want to be on the receiving end of some of the comments I've seen like "you should really get some training in that".
And yes, the extra work in forming a quality question does indeed often help me answer my own question.
However, I have often benefited from someone else's stupid question; so, I'm glad they asked even though I wouldn't have. I also benefit from the opinion questions even though they are always shut down as "not relevant" or "off topic".
It's getting to the point where it is difficult to even read some of the answers because you have to sift through all the hateful snarky comments. I have actually started deliberately avoiding SO and trying out the 2nd or 3rd search result sites.
It's easy to say RTFM but sometimes what people need is context. Unless you've programmed in C and used printf and scanf then format strings in whatever language are pretty opaque.
> there is frequently little patience for questions which you could have resolved yourself.
I don't think that's realistic; it's the rationalization for bad behavior.
IMHO the truth often is that there are many people who want the chance to act out on their frustrations or other emotional problems, and they seek a target they can rationalize attacking - like a guy going to a bar looking for a fight.
Or like the angry mobs on social media who pile on someone they don't know over an issue that doesn't affect them and about which they know almost nothing. Consider why, if it doesn't affect them and they don't even want to learn about it, they attack the object of their vitriol? It's the same motive and behavior, just a different context.
There may be some like that, but they are not a majority. I love educating new programmers, but the concept of "Give a man a fish, teach a man to fish..." really does apply.
If you have a habit of giving up your search after 1 minute and expecting help you will not make it far as a programmer/problem solver.
I have found that as a beginner programmer, one thing that is really important is to have patience and persistence. I have observed other beginners who want to rush to become a good programmer in X language and basically throw every question into Stack Overflow.
Slow down, learn how to read technical manuals, and in the long run you'll thank yourself as you go on to learn more complex languages by reading technical documentation with patience and persistence. Build that foundation of how to learn and things will pay off in the long run.
SO is a bit of a culture shock from other places. Its not a forum, it's a little bit wikipedia ish. Having your question closed is not a hostile act, it's part of creating crowd sourced editing of content. Sometimes questions that could be good get closed, sometimes questions that are bad don't get closed ( at least for several years ). While you may wish it to be a little more friendly, its main goal is to provide high quality content especially for professional developers, and the thing is, it is very successful at doing that, so be careful to understand how it gets a lot of high quality content because a lot of other sites tried and failed to do the same thing. Be very careful to fit into the culture of SO, if you want to chat about problems, find a forum, go on gitter, or some other space. On SO, best thing you can do is edit the original question if its badly done and you care about the question. Make it better.
The other StackExchange sites are just as bad. I once had a physics question (I'm not a scientist, I was just curious) and I asked it on the Physics SE site. The result was a torrent of intelligent, articulate people telling me my question was stupid and that I should not have asked it. Imagine if a curious schoolkid had that experience, they could be put off physics for life. StackOverflow etc. can be useful at times, but it has a pedantic and hostile culture that is anathema to learning.
Well, that's ok, that's not the place to ask the question.
Or is it ? How do you find a better place ? Probably use google and find yourself back on SO / Whatever SE again. That's the biggest problem. The #1 source of information does not accept dumb questions.
And anyway, what is a dumb question ? Lots of question on SO are pretty dumb. Useful, because they save you 1 hour parsing the doc/spec, but dumb because well that's literally a chapter in the manual. Ask OP question on Swift 2 years ago and it was ok (despite the doc being readily available too), ask it today it is dumb, ask it on java, dumb again.
That would be like going on wikipedia and you would only find information about Game of Throne Season 4, 5 and 6, but the pages on Season 1, 2 and 3 have been closed because a real Game of Throne enthousiast shouldn't need that information.
I sort of see SO goals. Curated set of responses, move with the technology, etc. But the human side of the site is still firmly and proudly stuck in the worst of the 90's.
Another example of SO managing to alienate a user (in this case, me): Posting my very first answer to a question, finding a very similar post and adding my solution there as well, then getting an email that I had posted the same thing and that the second post would be removed. This was unfortunate because the second question had a more lively discussion and seemed like a better place for the answer. I deleted the first answer, tried re-posting on the second question and wasn't allowed. After that, I gave up.
Sounds like you ran into one of the spam prevention mechanisms. I've done the same thing before, and usually as long as you do some editing and don't just copy/paste the answer it should let it thru. Or sometimes I leave a comment with a link to the other answer so people can find it.
Sorry you had a bad experience with the site. I hope you try contributing again in the future if you get a chance.
Disclaimer: I code for Stack Overflow and before that I was a mod.
Many of these comments lack a sense of proportions regarding Stack Overflow. We get 8,000 questions... per day. There are more than 30 million posts, 12 millions of which are questions.
Yeah, we have to close a lot of them, and we keep the ones which we can answer. Lists are disallowed for a reason. Opinions are disallowed for a reason. We aim to build a library that will last for years longer than solving the problem for a single person.
Another thing that people don't get is that Stack Overflow is basically a school. When programmers say their profession is a life-long learning exercise... they do it mainly on Stack Overflow.
Stack Overflow is not a community. Is the school of all developers. We can only ask them to be nice, but you can't expect everyone to be exactly how you expect. It just won't happen.
While we do moderate rudeness, it can only be a post-hoc exercise where users help us identify such behavior.
EDIT: I removed a paragraph that was very misleading and added a clearer one. Sorry about that.
I guess what I genuinely don't understand is why lists are more harmful to the community than rudeness and vitriol.
If I post a question that asks for an opinion or list, someone will swoop in and edit it or delete it. Why can't we do the same when someone embeds a little bit of professional problem solving with a lot of unprofessional personal attacks?
I also wonder if there is any connection between the low value put on being polite and welcoming and the struggles to create bring more diversity to our community.
StackOverflow is where professional development happens, and so there is some responsibility on them to make sure that development is healthy.
Thanks for your comment, let me give you more context.
> I guess what I genuinely don't understand is why lists are more harmful to the community than rudeness and vitriol.
Lists were allowed, turned out to be an unmaintainable mess with our current format, which was sincerely hurting the community. The top voted content was bad content. This in turn primed and encouraged users to post even more bad content.
Rudeness and offensive behavior against other users are not tolerated. No ifs and no buts. I might have given you the impression that we allow users to insult each other. We don't.
However, unless we put a word filter on any possible bad word, there will always be rough comments. The only thing we can do is ask the users to flag such comments and remove them as appropriate.
A user flagged the comment one hour ago and the comment has since been deleted.
Read facebook. Read twitter. Stack overflow is not remotely like those places, yet it is one of the top 30 networks in the world by traffic.
We heavily moderate rudeness, but we are not going to be able to moderate every opinion that someone is going to find remotely offensive before it offends anyone. What you are expecting is simply not realistic.
> If I post a question that asks for an opinion or list, someone will swoop in and edit it or delete it. Why can't we do the same when someone embeds a little bit of professional problem solving with a lot of unprofessional personal attacks?
As I said, we do delete such comments, as we did in this case.
For my own context, I've been a StackOverflow user since the more free-form days. I appreciate the focus on quality, it has created a culture of quality. I think a focus on kindness can similarly create a culture of kindness.
I'm not looking for advanced sentiment detection algorithms or even new rules, just a few blog posts and some leadership.
> Lists are disallowed for a reason. Opinions are disallowed for a reason
but then
> Stack Overflow is not a community. Is the school of all developers.
Maybe the school you went to is different, but the one I went to definitely was a place where we got lists of useful things and had professors and classmates who expressed their opinions, which we then discussed.
If you want to be a school, then discussions of opinions is the number one thing you should be encouraging.
But regardless of that, the problems go much deeper. As I commented before, when I try to answer a question, it gets pushed down so that an inaccurate answer can be upvoted and accepted, and when I ask a question I get marked as "duplicate" when it is in fact the exact opposite of the question it is supposedly a duplicate of.
It's a lot easier to get some points for marking a question as a duplicate than it is to actually read the supposedly duplicate question to find out it isn't a duplicate but just happens to have some of the same words.
The discussion doesn't generally go on in the margins of the textbook. If you want a discussion, great - yes, there is value in that, but it's a transient value. Use an IRC channel or the SO chats.
As to your second point - you don't get points for voting to close a question or flagging one. Yes, sometimes people make mistakes voting, but generally a comment clarifying why they are wrong is enough, if that doesn't work, flag the issue.
Comparing Stack Overflow to the textbook is not very relevant: manuals etc are textbooks. Stackoverflow is a forum with very customized rules. Or if I'm generous: a reference.
> The discussion doesn't generally go on in the margins of the textbook.
You're right. In my courses, the textbook was a written version of the discussion. We had books that were basically photocopies of the most recent papers and essays, often disagreeing with each other.
> you don't get points for voting to close a question or flagging one
I'm aware that you don't get SO points, I meant points in the "brownie points" sense. ie. Look how active this moderator is they must be good they are closing a lot of duplicate questions!
> Many of these comments lack a sense of proportions regarding Stack Overflow. We get 8,000 questions... per day.
Then again you seem to enjoy it; your whole site seems like a big funnel to attract questions.
If you feel you get too many homework or beginner questions I have mentioned here and elsewhere I think some ideas to reduce the workload while minimally impacting target users.
To be blunt: IMO SO at the moment seems to be all about raking up user counts and question counts while lamenting the workload.
Correction: it is of course not all about raking up numbers, -lots of questions are answered. Still it feels weird to talk about the workload without adjusting the threshold for asking.
That may serve Stack Overflow's interests, but not the interests of many users.
> So what if he calls a question stupid?
This question should be closed. :) Such behavior isn't acceptable in any serious place, from the workplace to the classroom to any polite conversation to even on HN. The reasons are very well-known, even to children, and if you don't know them they are easy to find.
> We can only ask them to be nice
Another question that should be closed. There is plenty of research and implementations of solutions to this problem. Stack Overflow isn't helpless.
Many users are unhappy; it might be worth doing something about it.
Some may feel discouraged when SO closes/downvotes you to the coldest pits of "I'm a newb and don't know anything", but imagine a situation far, far worse:
Imagine searching for this exact question and getting 36 SO questions all asking the same basic thing, just tweaked ever-so slightly.
It sucks to have mods putting in some effort with strict-filter rules, but without their filtering, the 'noise' ratio would be horrendous and would render the generally useful SO into oblivion.
But hey, if you don’t want a friendly community or you don’t want more people to ~learn how to code~, then you’re doing it right.
I have all the community I want, thanks. If you think I'm being self centered, you have it backwards. I don't care what you do, but you think a community you aren't part of should cater to you.
I am on SO and I once tried to help someone in similar situation. I could easily say search on google, but instead I helped them. Guess what - the converstion below my answer ended up me answering more fundemental questions from the same OP which are far worse than the actual asked question. Some of the follow up qustions, if I give them to the author of the above blog, might ask me to google them!
122 comments
[ 3.7 ms ] story [ 196 ms ] threadIn my opinion, it's just another unfortunate side effect of anonymity on the internet. It's terrible, and I wish people were nicer to each other.
The result? The only people that comment are trolls with fake account, people who have too strong opinions or don't care about their next job interview or people with "correct" opinions.
Meanwhile I rarely see anyone here or at the Ars Technica comment sections suggest we nuke one country or the other (and if anybody do we collectively moderate them beyond ground level.)
Personally, I had decent experiences in most cases. I never got over the fact that it refuses to become the de-facto point of reference for stacks, i.e. questions like "what are the best web libraries for $language", "what is the best practice for deploying $framework" are brutally rejected. And it's a shame, because those would have helped immensely -- it's very easy to learn a language, but it's really hard to figure out what you should use from the surrounding ecosystem.
[1] http://codereview.stackexchange.com
Problem is that most people don't want to maintain these lists. The handful of exceptions stand out precisely because they have a few dedicated maintainers who've dutifully kept them relevant for years... Most of them, though, died from neglect and were eventually deleted out of mercy.
StackOverflow is a good resource precisely because it's curated and maintained, including rejecting content that doesn't work on the site. Just like Wikipedia doesn't allow you to have your own page listing your opinions.
That's why you need voting, same as traditional SO.
> and go out of date incredibly quickly
I can see that being a problem -- but it's a problem even for regular SO questions, since languages evolve (the best way to do X in python 2.3 is not the same as in python 2.4, let alone 3.x).
You could simply timestamp votes and progressively devalue old ones, like tajen suggested.
> If you search for such a thing, you'll find blog posts [...] useless because they are out of date
Absolutely. Blog posts and wikis are terrible at keeping up, they are fundamentally static and require a lot of work. For example Fullstack Python [1] is nice but it's probably an immense effort. It would be nice to have some semiautomated way to highlight stacks that can self-maintain and stay relevant.
[1] http://www.fullstackpython.com
Now it depends on what you think about what Stack Overflow is supposed to be. I personally think Stack Overflow should be focused on providing information that not already exists, I don't think it should try to replicate or link to every manual and tutorial out there. This stuff already exists and is hopefully actively maintained by the language and library developers, so what is the point of duplicating it? I think Stack Overflow should not be about teaching people how to code but help them to solve hard problems.
What constitutes a hard problem of course heavily depends on one's experience and abilities so the line is kind of arbitrary but I would say that if it is in a beginners tutorial or the manual, then it is not a hard problem. I certainly unterstand the desire to get problems solved within minutes but I also think that is not really a good thing. No matter how good and experienced a developer you are, you will come across problems that take hours and days to solve again and again. Reading ten pages of a manual should really not be considered an annoyance but a valuable skill.
Very often you will already have a rough idea of how you want to solve your problem and just look for some very specific information, but if you take the time to read about it you will often find that your initial solution is actually not that great and there is a different preferred way to do it. So if there is one advice I would give to beginners than it definitely is »Read the fucking manual!« and probably read it twice.
No. There's a lot, A LOT of resources online for beginners.
let the nerds run SO, it's perfect as it is for people who know what they are doing.
Both things do not fit well together. When you want to help others, you must allow any question that is earnest. When you want to be an encyclopedia, you have to filter questions very harshly.
Sadly, together with this, the self-moderation feature of SO attract people that are more interested in enforcing rules, instead of helping people.
At some point I stopped needing it, my questions became too specific and I got tired of answering the same questions. At that point I had about 20k karma points.
I've recently needed to ask a few answerable questions so I went back. All my questions were closed or down voted and people reduced me for asking such bad questions with 25k karma.
SO is now useless unless your question fits exactly into some mold they require, ie questions someone with 2-3 years experience might ask.
Back when any question you would ask would have at least 20000 answers it seemed only the pages never contained the text, they only where in the index because of some link with that text.
Sorry to say that, but I'm neither surprised nor offended by the closing of that post.
Also ironic is when the question asks for help in choosing between frameworks or libraries of comparable functionality and it gets marked as [closed] 'opinion-based'. What's a good question then?
I understand that SO wants/wanted to discourage becoming just a copy-pastable repository of code snippets for common patterns, and that they also don't want to be full of thinly-veiled marketing posts about why framework X is better than its competitors. But then what content DO they want? (Rhetorical, but in-depth questions about API usage are probably the best ones to ask.)
I treat SO as read-only, and that makes it a valuable resource for me.
Read the FAQ and you will know.
So no, just reading the rules might not help everyone I'm afraid. This is more like case law than physics I'm afraid.
I've been using the site since the beta, have thousands of karma and twenty+ years of experience, and yet I can't ask or answer a question anymore.
When I answer a question, it gets downvoted and then an inaccurate answer gets accepted and upvoted.
When I ask a question, it gets marked as a duplicate, and then they link to the question it's a duplicate of, which is a question I found in my own research that was exactly the opposite of the question I had.
That community has become completely toxic and I can't participate it in anymore.
End of the day, I think it is important to keep in mind what Stack Overflow is not: it's not Khan Academy. It's not college classes. It's not your IRC buddy. It's more like Wikipedia (but not quite exactly that) than those things. Some choices should be made to keep the content quality high.
It's like when there's one guy who has maintained a system for years and won't let anyone else touch it but also complains about having no time for other projects. Eventually he has to let someone new take over parts of it, even if it means that at first it takes a little longer and it's not done quite the way he would.
What I'm trying to get at is not that low quality questions should be accepted, it's that when they are rejected a kind tone should be used so that new users are able to take the suggestion without being defensive and so that they feel encouraged to get better and try to keep participating.
Odds are that neither the person asking the question or the person who wrote this blog post realize how big the subject is, but since the question just says "tell me everything and I'll figure out if it's relevant," there really is no good way to answer, other than a link to the doc page and a little prodding along the lines of "what are you actually trying to do?"
But, that said… I'm not sure this is a particularly convincing example of this phenomenon. This is an example of something which can easily be found by reading the documentation, and I'm not convinced that Stack Overflow is the correct place to ask for other people to do your research for you! In individual cases I don't doubt that it's fine, but I imagine it gets frustrating to deal with repeated questions of this character, especially when we now have the benefit of such easily-accessible online documentation.
There is a balance to be struck, I guess. No reason to be rude even when silly questions are being asked.
Someone can make an honest and unsuccessful search for something that is blindingly obvious to another. If new users have difficulty using the documentation, that is sufficient proof that the documentation doesn't adequately serve new users (besides new users who magically know how to learn like experienced users) and that's where Q&A communities come in.
The rules say you have to do research and you have to show what you've tried to do. It doesn't specify a standard skill level you need to meet.
With the risk of sounding a bit of "it's programming it's meant to be hard", I feel the author is a bit spoiled. It's not as if the information wasn't there, she just needed ctrl-f "%r". This is also something you need to learn when learning how to program. In fact I would say that looking up information online is a fundamental programming skill (it didn't use to be, back in the days it was finding stuff in books, but we're mostly past that now, ctrl-f is so much nicer). So she just learned a very valuable lesson, I'd say.
Reading dense documentation is a programming skill, so it doesn't seem ridiculously out of bounds to be still in the process of learning it when on a programming education site.
What I'm trying to say is more along the lines of "if you don't have anything nice to say don't say anything at all." Saying "oh hey try ctrl f on that documentation page you looked at" would be a valuable response, saying that asking the question is dumb isn't a positive contribution and is likely to make the asker defensive and unlikely to really learn from the experience.
100% — this is the point I was trying to make
"Sure, a good samaritan could do the work, figure it out, learn something new in the process, and answer. Maybe they'll even answer it another few times for the feel-good factor. But at some point they'll get bored or irritated, and therein lies the rub."
Personally after having answered a lot of questions - in a nice, helpful way, mind you - questions whose answer could simply be "RTFM", these days I just avoid them. The problem with these kinds of questions are that more and more they offer nothing to the person answering them. A lot of them are asked by people who created an account on SO just to ask that question and then throws away the key (to that account). So don't expect to get any feedback, whether karma, comments or to be marked accepted. Don't expect there to be an interesting discussion with other devs with different experiences. I mean, I was answering questions on forums long before there was any karma involved just because I like to help/teach, but for that to be interesting to me who answers questions, there must be some sort of feedback. Karma is one way but I always preferred the good ol' discussion. It means I get to learn something as well. Questions answerable with "RTFM" offer very little of that.
I guess what I'm saying is that people who answers question on SO (or similar sites) are not getting paid to answers those questions. They do it for fun, learning experience, karma, status or whatever. So there has to be something in it for them as well.
The other benefit is that it leaves the door open to new participants, who are excited enough to know something that they don't mind not getting the upvote. Online communication is one of the most important skills to have, and every skill takes practice.
What better answer is there than a link to the documentation that has that list? In this case, I don't really care if the person posting the question put any research on their own. They specifically asked for a dump of everything, and got what they asked for. If that wasn't helpful, perhaps they need to ask a different question.
I'm a bit torn on those, tbh. The answer to those types of questions (and many other low quality questions) are typically in a blog post or in the docs a couple of positions further down in Google search results. At the very least the latter will provide a few interesting leads and hints on what's wrong.
A user who asks such a question on SO directly, without as much as a reference to the latter, is basically sending the message that they can't be bothered to do their own research or thinking, and are de facto abusing the time of those who do. But they'll never learn the problem-solving skills that are so critical to being a good engineer.
Sure, a good samaritan could do the work, figure it out, learn something new in the process, and answer. Maybe they'll even answer it another few times for the feel-good factor. But at some point they'll get bored or irritated, and therein lies the rub.
(One could of course argue that some engineers lack the curiosity and the basic problem-solving abilities that are necessary to be a good engineer. But that is another problem altogether.)
Great, so you've learnt something for next time.
> Beginners need guidance. They’re dumb and they flail around and they get stuck on “easy” problems. That’s why resources like Learn Python the Hard Way and Stack Overflow exist in the first place.
Sorry, but no. "Stack Overflow is for professional and enthusiast programmers, people who write code because they love it." Stack Overflow's biggest problem is that frequent contributors are getting fed up with the torrent of newbie questions from people who haven't programmed for a month.
Imagine joining Math Overflow because you're an enthusiast mathematician... only 19 of every 20 questions are about how to multiply two digit numbers. Imagine joining a DIY group after years of practice only to find that you spend most of your time building cubes out of playdough and sticks. Have you tried reading the new queue on Stack Overflow? What does this[1] even mean? (I'm actually kind'a shocked about how good it's looking right now; only about half of the questions are utterly irredeemable.)
People from the outside don't see this. There are filters in place and people who care to make them work. So all you see is the hostility and none of the reason. But please believe me when I say that it's not just us being cronies. We really do care about the site, and we just don't want to lose it.
[1]: http://stackoverflow.com/questions/37779153/how-to-enable-di...
When the site clearly looks like as a place for noobs to get questions answered for free then maybe don't complain that you get just that.
If you are starting out with something new, someone has already had the same problem you are. Your question has already been asked and answered.
Instead of searching for specific jargon they don't know about they'll come up with their own terms to try to explain their problem.
This is another acquired skill, nowadays to be a good programmer you need to learn how to search for documentation and how to phrase it and to learn that you need to become a programmer and be in contact with the technical jargon.
I don't know another way to overcome this except for experience, what is exactly what newbies don't have so I try not to bash them but educate in how they can find the stuff they want.
Pretty clear that it's for professional programmers and not beginners. I agree that it is a bit frustrating to google something and have the SO question marked as a duplicate of another unanswered question. There are many places to learn the basics of programming and SO is not that place.
SO itself begs to differ:
> Stack Overflow is for professional and enthusiast programmers, people who write code because they love it.
So very clearly not only professionals.
Also as lambda points out somewhere in this discussion you might be a seasoned pro in one language and a noob in another.
IMO we are talking about every newbie that find SO every day and those who don't like dealing with them.
[0]: ok, that last one was on networking stackexchange or something.
You may believe the current rules and moderator brute squads work to keep the site clean, but from where i'm standing they work to make the site useless.
I was messing around with Elixir (which is newish in the scheme of thing) and it's very different than asking about Rails/Ruby.
It's good that there are rules, but what really matters is the community. People are on there are trying to get help following their passion or making their living. The stakes are often very high for the asker, making a rude response particularly painful.
Nobody seemed able to know what a high quality question was, nor could come to an agreement on what topics specifically would be allowed.
I left the community and became a mod a year later because stackexchange asked me to - given that I had a high reputation on the site and the site itself was in danger of dying out. The site still exists today IMO, in spite of the users who are quick to criticize other peoples questions instead of answer them - and really because the topic itself is something a lot of people are interested in without a lot of other communities to go to for support.
Stackexchange's system encourages people to be bitchy and put down other people's questions. They are in the position they are because of SEO - and because google and yahoo's alternative solutions were short sighted. If the monetization model was really all that strong they would lose their market position very quickly.
(0) Don't downvote newbies to oblivion. That's just being a bully. (IMO, downvotes should be reserved for bad answers.)
(1) When contributing an answer, provide an option to flag the answer as “taken straight from the manual”. I'll call such answers “RTFM answers” for short.
(2) When a user receives their first RTFM answer, just tell them in a gentle way that they're expected to do their research, and perhaps provide useful links, depending on the tags associated to their question.
(3) Only if a user consistently asks questions with RTFM answers, punish their behavior in some way: reputation loss, decreased question visibility, etc.
I've asked my fair share of dumb questions and even posted dumb answers, and the community has treated me relatively kindly. (I have ~7k reputation as of now.) I wish others could be treated the same way.
Of those questions about a day old with score <= 0, only ~30% are less than 0. Of those <= -1, only ~30% are < -1 and only ~10% are < -2.
Your RTFM tag doesn't seem to add very much over a moderate count of downvotes. I believe the rest of what you've said applies when downvotes happen.
However, I have been discouraged from using the site in recent years due to too many disagreements over closing and downvoting questions when actually just getting a little bit more clarification from the person asking the question would have helped a lot more.
I've answered over 1,000 questions, ranging from very simple beginner level to some things that took a good deal of research or debugging to answer. I've seen my fair share of poor questions. If a question is completely off topic, then sure, I click the "close" button immediately.
However, if it's on topic, and about some identifiable issue, but not specific enough, too poorly worded, or doesn't include a code sample, or the like, then I post a comment requesting clarification, and listing how they can improve their question. In some cases, they actually work with me, improve the question, and then I or someone else can answer it. In some cases, they just ignore my comments or continue with requests to just give them the code or the like, in which at that point I find it worth a downvote or close vote.
But a lot of the times, I've seen perfectly good questions that were just a little confusingly worded, however I was able to tease out what they were getting at, I've done some research to find the answer, and come back, only to find the questions closed. Now I have an answer for the question, but can't actually post it. If I vote to reopen, sometimes even after editing it to clarify or getting the OP to edit it, it will generally languish with one or two reopen votes. Sometimes I'll then post on meta to complain about this behavior; people being way to quick to close. This will frequently lead to enough people clicking through to reopen it, but also a torrent of complaints about how the question really is bad and how we shouldn't let this kind of stuff on the site because it's destroying the community.
The thing is, bad questions don't destroy the community. If they're bad questions, they'll generally fall off the front page and get forgotten about. They don't really cause much in the way of problems; they're just a few extra bits. But this hostile behavior does destroy the community. It pushes beginners away, who may ask better questions later once they get a bit more of a handle on what they're doing. And it pushed people like me away; people who are there to help, and willing to do so even for beginners.
I think that Stack Overflow is a very different thing than MathOverflow. Professional programmers sometimes run into thing that they need to do that they are complete beginners at; you may have years of experience writing Java, but then you wind up needing to integrate with and write a plugin for something written in Ruby, and you really have very little experience with it and so don't know where to look. Due to the huge numbers of different languages, APIs, platforms, and so on, rapid pace of change, and shortage of qualified people with the exact relevant experience, almost everyone is a beginner at something they are doing at some point in their career.
Furthermore, some people just don't know how to ask good questions online. It's a skill that takes some time to learn. If you're asking a question to someone in person, they may already have more context about what you're doing, or will be able to more easily ask you questions to clarify and sit down with you to work through it, while asking good questions online can involve a certain amount of preparation in advance to narrow the issue down to a self contained, reproducible test case, to phrase the question appropriately, and so on.
So while I agree that complete junk should be closed and delete, and people who just post "plz gimmeh teh codez" should be discouraged, I am really frustrated by the way people extend that to things that are just beginner questions, poorly worded questions from people who ar...
Was shot down rather soon, of course (not without upvotes, though) :)
All you are doing here is injecting your own over-weighted bias into the algorithms and creating yet another tyranny of moderation for everyone that culminates with every single online community monotonically decreasing off peak from the point of its inception. Moderators should be more -- if not entirely -- concerned with tweaking algorithms rather than tweaking members and activity directly.
Sure, there are typos, and the question could be worded better. But is it the kind of question that deserves the “fuck off” it got?
[0]: https://en.wikipedia.org/wiki/Wikipedia:WTF%3F_OMG!_TMD_TLA....! [1]: https://en.wikipedia.org/wiki/Wikipedia:Article_half-life [2]: https://en.wikipedia.org/wiki/Eternal_September
With time you'll both learn to identify these and to write your questions in a way that it reflects that you've "done your research."
I must admit I have come to the point were I unconsciously just don't ask questions on SO and instead try another hour on my own instead of even trying to ask.
I'll imagine someone trying to answer it, but asking if I checked site Y on the topic first, so I'll make sure to add "Site Y only says <blah>" to my question. Only once I have added proof that it's not a trivial mistake on my part would I actually post the question, but sometimes I find out what was causing the problem in the first place.
Or maybe I'll be trying to reduce the problem to a minimal C file and the invocation of gcc that causes the error. And in doing so I'll realize what's wrong.
So I don't think it's a bad thing to get people to go over the question a few times before asking, and try and make it as easy as possible to answer the question.
In the cases that this process doesn't lead me to an answer, oftentimes I discover that either my question is too broad to be answerable, or that I am missing general education in the area and my actual question is somewhere further down.
So really the impatience and hostility towards bad questions, is a tool I use to aid me in finding answers myself.
That all sounds a little smug, but when I am stuck even after this process and actually post my research on SO or IRC or to a mailing list, too many times I get one-line answers about the tiny thing I was missing... but at least then nobody thought I was just being lazy.
And yes, the extra work in forming a quality question does indeed often help me answer my own question.
However, I have often benefited from someone else's stupid question; so, I'm glad they asked even though I wouldn't have. I also benefit from the opinion questions even though they are always shut down as "not relevant" or "off topic".
It's getting to the point where it is difficult to even read some of the answers because you have to sift through all the hateful snarky comments. I have actually started deliberately avoiding SO and trying out the 2nd or 3rd search result sites.
It's easy to say RTFM but sometimes what people need is context. Unless you've programmed in C and used printf and scanf then format strings in whatever language are pretty opaque.
I don't think that's realistic; it's the rationalization for bad behavior.
IMHO the truth often is that there are many people who want the chance to act out on their frustrations or other emotional problems, and they seek a target they can rationalize attacking - like a guy going to a bar looking for a fight.
Or like the angry mobs on social media who pile on someone they don't know over an issue that doesn't affect them and about which they know almost nothing. Consider why, if it doesn't affect them and they don't even want to learn about it, they attack the object of their vitriol? It's the same motive and behavior, just a different context.
If you have a habit of giving up your search after 1 minute and expecting help you will not make it far as a programmer/problem solver.
Slow down, learn how to read technical manuals, and in the long run you'll thank yourself as you go on to learn more complex languages by reading technical documentation with patience and persistence. Build that foundation of how to learn and things will pay off in the long run.
Or is it ? How do you find a better place ? Probably use google and find yourself back on SO / Whatever SE again. That's the biggest problem. The #1 source of information does not accept dumb questions.
And anyway, what is a dumb question ? Lots of question on SO are pretty dumb. Useful, because they save you 1 hour parsing the doc/spec, but dumb because well that's literally a chapter in the manual. Ask OP question on Swift 2 years ago and it was ok (despite the doc being readily available too), ask it today it is dumb, ask it on java, dumb again.
That would be like going on wikipedia and you would only find information about Game of Throne Season 4, 5 and 6, but the pages on Season 1, 2 and 3 have been closed because a real Game of Throne enthousiast shouldn't need that information.
I sort of see SO goals. Curated set of responses, move with the technology, etc. But the human side of the site is still firmly and proudly stuck in the worst of the 90's.
Sorry you had a bad experience with the site. I hope you try contributing again in the future if you get a chance.
Many of these comments lack a sense of proportions regarding Stack Overflow. We get 8,000 questions... per day. There are more than 30 million posts, 12 millions of which are questions.
Yeah, we have to close a lot of them, and we keep the ones which we can answer. Lists are disallowed for a reason. Opinions are disallowed for a reason. We aim to build a library that will last for years longer than solving the problem for a single person.
Another thing that people don't get is that Stack Overflow is basically a school. When programmers say their profession is a life-long learning exercise... they do it mainly on Stack Overflow.
Stack Overflow is not a community. Is the school of all developers. We can only ask them to be nice, but you can't expect everyone to be exactly how you expect. It just won't happen.
While we do moderate rudeness, it can only be a post-hoc exercise where users help us identify such behavior.
EDIT: I removed a paragraph that was very misleading and added a clearer one. Sorry about that.
If I post a question that asks for an opinion or list, someone will swoop in and edit it or delete it. Why can't we do the same when someone embeds a little bit of professional problem solving with a lot of unprofessional personal attacks?
An excellent question, which leads us to the heart of the matter ...
StackOverflow is where professional development happens, and so there is some responsibility on them to make sure that development is healthy.
> I guess what I genuinely don't understand is why lists are more harmful to the community than rudeness and vitriol.
Lists were allowed, turned out to be an unmaintainable mess with our current format, which was sincerely hurting the community. The top voted content was bad content. This in turn primed and encouraged users to post even more bad content.
Rudeness and offensive behavior against other users are not tolerated. No ifs and no buts. I might have given you the impression that we allow users to insult each other. We don't.
http://meta.stackexchange.com/questions/240839/the-new-new-b...
However, unless we put a word filter on any possible bad word, there will always be rough comments. The only thing we can do is ask the users to flag such comments and remove them as appropriate.
A user flagged the comment one hour ago and the comment has since been deleted.
Read facebook. Read twitter. Stack overflow is not remotely like those places, yet it is one of the top 30 networks in the world by traffic.
We heavily moderate rudeness, but we are not going to be able to moderate every opinion that someone is going to find remotely offensive before it offends anyone. What you are expecting is simply not realistic.
> If I post a question that asks for an opinion or list, someone will swoop in and edit it or delete it. Why can't we do the same when someone embeds a little bit of professional problem solving with a lot of unprofessional personal attacks?
As I said, we do delete such comments, as we did in this case.
I'm not looking for advanced sentiment detection algorithms or even new rules, just a few blog posts and some leadership.
but then
> Stack Overflow is not a community. Is the school of all developers.
Maybe the school you went to is different, but the one I went to definitely was a place where we got lists of useful things and had professors and classmates who expressed their opinions, which we then discussed.
If you want to be a school, then discussions of opinions is the number one thing you should be encouraging.
But regardless of that, the problems go much deeper. As I commented before, when I try to answer a question, it gets pushed down so that an inaccurate answer can be upvoted and accepted, and when I ask a question I get marked as "duplicate" when it is in fact the exact opposite of the question it is supposedly a duplicate of.
It's a lot easier to get some points for marking a question as a duplicate than it is to actually read the supposedly duplicate question to find out it isn't a duplicate but just happens to have some of the same words.
As to your second point - you don't get points for voting to close a question or flagging one. Yes, sometimes people make mistakes voting, but generally a comment clarifying why they are wrong is enough, if that doesn't work, flag the issue.
See our original about page here: https://web.archive.org/web/20120131154217/http://stackoverf...
So, honestly, thanks for the hard work you put in. And: hopefully we/you can do even better in the future?
You're right. In my courses, the textbook was a written version of the discussion. We had books that were basically photocopies of the most recent papers and essays, often disagreeing with each other.
> you don't get points for voting to close a question or flagging one
I'm aware that you don't get SO points, I meant points in the "brownie points" sense. ie. Look how active this moderator is they must be good they are closing a lot of duplicate questions!
Then again you seem to enjoy it; your whole site seems like a big funnel to attract questions.
If you feel you get too many homework or beginner questions I have mentioned here and elsewhere I think some ideas to reduce the workload while minimally impacting target users.
To be blunt: IMO SO at the moment seems to be all about raking up user counts and question counts while lamenting the workload.
> So what if he calls a question stupid?
This question should be closed. :) Such behavior isn't acceptable in any serious place, from the workplace to the classroom to any polite conversation to even on HN. The reasons are very well-known, even to children, and if you don't know them they are easy to find.
> We can only ask them to be nice
Another question that should be closed. There is plenty of research and implementations of solutions to this problem. Stack Overflow isn't helpless.
Many users are unhappy; it might be worth doing something about it.
However the second one should be left open. We do read the research, but there are no clear answers there, yet.
Edit: typo
Some may feel discouraged when SO closes/downvotes you to the coldest pits of "I'm a newb and don't know anything", but imagine a situation far, far worse:
Imagine searching for this exact question and getting 36 SO questions all asking the same basic thing, just tweaked ever-so slightly.
It sucks to have mods putting in some effort with strict-filter rules, but without their filtering, the 'noise' ratio would be horrendous and would render the generally useful SO into oblivion.
I have all the community I want, thanks. If you think I'm being self centered, you have it backwards. I don't care what you do, but you think a community you aren't part of should cater to you.