I usually don't downvote answer that ask for 3rd party libraries, just vote to close. Your example is a bit borderline and it's something I wouldn't close, but I can see how someone might think it warrants to be closed. Consider that the rule about external tools is meant to avoid a deluge of answers about libraries. They may be useful, but none of them is objectively right and can cause religious wars with people downvoting answers about libraries they don't like and massively upvoting their favorite library.
If we can avoid this by being strict, I think it's a good thing. But hey, I'm just one of hundreds of thousands users, so it's not like my opinion is somehow more valuable than yours.
Like many, I find the answers to these "religious" (in fact, they are not, because done properly the answers are supported by arguments) questions to be the most useful content.
In many ways, I can answer the most objective questions myself from the documentation or source code. But what I cannot do this with is distillation of expert knowledge that requires time, and the more distilled it is, the more subjective it is. Subjective doesn't mean unsupportable by facts (experience).
> Answers that just recommend a 3rd party library optimize for solving the immediate problem an answerer is having asap but they don't work very well at creating a long lasting resource and they also give answerers a hard time.
I see no problem with this. Furthermore, if you can ask a question about using a particular library, you should be able to give that library as an answer.
IMHO, any problems around "3rd party libraries" could be solved from a combination of improved culture (e.g. explain the solution with a library reference) and technical tools (e.g. tagging with library version, result/answer ranking tweaks, etc.)
> Opinion questions can get outdated very quickly and it is hard to tell if you come from a google search if the answers are still applicable.
SO could solve that problem rather than giving up. For better or worse, SO is the watering hole for programming questions. As long as dups are kept under control, competent people can find the old questions and provide new, updated answers that will converge on completeness. Also, "outdated" answers can still have value, since not everyone is using the latest stuff.
What SO needs is features for fixing the practical problems you outlined:
> They also don't work well with the site format because you cant summarize the solution into one accepted answer. Instead, you get hundreds of tiny small disconnected answers, which cant really be edited to consolidate or keep them up to date, and no room for discussions (SO comments don't work well for long discussions)
I would say some form of extra curation, answer clustering, and old answer decay would go a long way towards addressing this, and it would be a great improvement on the existing situation of digging through old forum posts or making new ones (to an audience that may or may not have good opinions).
Same for me. I think it is not wise to expect your users to be that fanatics, that they can't recommend any tool, without starting a flame war all the time. I mean there certainly are fanatics on the internet who fight with religious passion about the weirdest things, but I believe they are not the majority.
So just banning something that might cause trouble, but loosing all the benefits, I think was not a good decision.
But apart from that, I found lots of help on SO. But like others, not so much anymore, but mostly simply because I rarely need to look up things and the problems I do have are too obscure, for the main users, which are the target group, so I solve them by other means.
The utility became less and less over time. It can be done with a small enough and dedicated community behind it (the C++ book list), but without that amount of attention and dedication its not that good anymore.
There's also the number of questions. Stack Overflow back then got maybe a few hundred questions a day. You could glance over all of them in a tag in a page. Now it gets 8000 questions per day. Asking a recommendation question doesn't get your post there for a large community of experts. You're lucky if you've got a few minutes of visibility now.
Look back at one of those https://stackoverflow.com/q/22697 - "only" 14 answers to it... and look how many of them are saying the same thing. That's not useful. https://www.slant.co/topics/259/~best-mock-frameworks-for-ja...
Try https://www.slant.co for the recommendations - its designed for that.
The problem of "same answer repeated" becomes contrary to the "find the answer rather than scrolling through pages" when posts get sufficiently popular. Go through all the pages of https://stackoverflow.com/q/1711 and count how many times the mythical man month is mentioned. Unless you read through all 214 visible answers, do you know how much consensus exists from material on the last page?
They gave it a try - https://stackoverflow.blog/2010/12/17/introducing-programmer... and it veered off into unmanageable and at the end of the day, uninteresting https://stackoverflow.blog/2010/09/29/good-subjective-bad-su...
It had a really big initial peak, but people didn't stick around. https://meta.stackexchange.com/a/200144
There's a place for such questions, it just isn't Stack Overflow. It isn't the trash either... but its that the structure and the framework of Stack Overflow doesn't work for that sort of question.
The problem is that the endless debates tend to drive away the people who provide the answers. Look at the questions on https://ai.stackexchange.com and consider some of the older ones https://ai.stackexchange.com/questions?page=30&sort=newest to the newest https://ai.stackexchange.com/questions?page=1&sort=newest . They really had a problem with the... science fiction questions https://ai.meta.stackexchange.com/q/1283 and appear to have a done a strong change. Sure, those are interesting, but if one wants to ask questions of the experts, they need to ask questions the experts want to answer. There's a site that handles those questions better... https://worldbuilding.stackexchange.com/questions/tagged/art...
The main thing is that it takes some degree of moderation to keep the people who have the answers that people want. This means matching the site to the vision of the site that the people who have answers want to visit... and that's a lot of clauses. Without that moderation striving for what the site could be, you get https://answers.yahoo.com/dir/index?sid=396545663&link=list and there's a reason that experts tend not to go there and try to answer those questions.
As to the its a human issue, not a technical one - I'd suggest giving http://www.shirky.com/writings/group_enemy.html a read. The first of the three things to accept.
I've read Jeffs essay. I've used programmers.se and basically vowed never to go back after a few years because the moderation itself is piss poor (there one person gnat who's sole mission is to close every new question unless it's asked by one of their inner circle of buddies). It's really a joke. There's literally no reason for programmers to exist if not for expert opinioned discussions but they started cracking down on that and rendered the site useless. It's not just me either. Other good contributors have posted the same reasons for leaving in meta and in other forums.
I think you're conflating useful questions and good moderation with opinionated Q/A. I don't think anyone wants SE to be yahoo answers. But a question like what is the correct way to implement IO multiplexing is really useful. I think in SOs crusade to rid the site of opinion-based questions that are hard to handle, they threw the baby out with the bath water and got rid of some of the most useful discussions as a byproduct. Is SO dead? No. But I certainly get less utility out of it these days because I'm less willing to contribute when 90% of the time questions are met with instant downvotes and flags because someone didn't understand the finesse in a question and/or didn't assume positive intent so they could justify being pedantic assholes. I'm pedantic too. I draw the line at using it as a reason to be an asshole though.
I'm not saying SO didn't do its homework. But I am giving one data point that feels SO's usefulness has been marginalized because of the way the community has interpreted "no opinion based questions". I feel that zealotry has spilled out into the general air at stack overflow and it's no longer engaging or fun for many people to contribute these days. Take that for what it is, I guess.
I call them an idiot because they were nitpicking on a question that was asking for help well within the already Procrustean bed of regulations. I stand by my assessment: it's hardly a reason to refuse help citing bureaucratic regulations if you're a public servant, but that's somewhat expected. If, however, it's a fellow forum contributor, this is both unexpected and serves no purpose.
Not sure who's right, of course, but as you see, the number of people complaining is greater by day. Note that many of them are familiar with the Internet since 1990s and are netizens of good standing; still, they manage to somehow "violate" these rules.
As soon as there is a real competition to the "soup Nazi's shop", many people will jump ship without hesitation.
It's also interesting that other Stack Exchange communities are not that strict.
Its a matter of scale and the ratio of the amount of time people are willing to help to the incoming question rate.
Lets say there are 500 people who are willing to spend the time to help a user craft a better question. They are willing to spend 60 minutes per day helping. Thats 30,000 minutes per day. There are 8,000 question/day. If we generously apply Sturgeon's law to this, thats 7,2000 questions in need of help.
And now we're at 4.2 minutes per question for those 500 people. If you believe this is a smaller number based on https://stackoverflow.com/review/helper/stats and https://stackoverflow.com/review/close/stats then apply the appropriate scaling.
You might want to work off of the values in https://meta.stackoverflow.com/questions/357198/mentorship-r...
> 63 mentors from the community volunteered to be our partners.
Lets think about a smaller site now. Electrical Engineering gets 80 questions per day. DBA gets 40. Now you've got a point where each question with potential to it can have someone spend a significant amount of time making it into a good question for the site.
The other half to that is the curation of the answers. Questions with discussions and polling are a nightmare to keep curated. Consider https://stackoverflow.com/q/1711 or https://stackoverflow.com/q/406760 or https://stackoverflow.com/q/184618 and how many duplicate answers there are in there. Consider that if that was open, how often would a new user go to that post and create another poor answer to add their own opinion.
Yes, each time a new answer is posted, there's activity on that the question that bumps it to the front page... but the front page scrolls too fast to do meaningful curation for all but the worst (and this also takes time out of the 1h for those 500 people).
A smaller site can spend a lot more time per user to guide them to ask a good question and a lot more time per answer to make it something that is a good answer.
why ? why do you do this ? a lot of time there is an exact piece of code that does what OP asks for, what does it change if the piece of code is in a SO answer or in a github project ?
Library recommendations however - everyone has their favorite. Someone recommends Spring. Someone else recommends Play. Someone else recommends Stripes (and then has a dozen comments explaining the different between Stripes and Stripe). Someone else has Struts (and then gets a dozen comments about the version they're recommending being out of date and lead to the equifax breech). JSF, Jspx, JHipster, Grails, GWT, ... it goes on and on.
And now that there are a score of answers, some new user sees the post, doesn't read everything and recommends a new version of Spring. Or points to a different site for Struts.
The curation of such a question takes far more work than the question is worth. Look at how much effort the C++ community puts into maintaining the C++ book list. Spending that much effort on each recommendation question is far too much moderation time across the community.
On the other hand... go to a site that is designed with exactly that goal in mind. https://www.slant.co/topics/40/~best-java-web-frameworks does it much better than Stack Overflow can.
But you admit to trying to suppress his ability to express that opinion and see no problem in doing so?
The point being, SO is not for opinions, and not because I say so. The rules of the site say so. And I (and others) already explained why there are such rules. So why shouldn't I vote to close a question that is patently off-topic when the site rules say I should vote to close it?
> But you admit to trying to suppress his ability to express that opinion and see no problem in doing so?
Is this a trial? I find this phrase is a bit accusatory, but maybe I'm just reading too much into it.
IMO it doesn't scale indefinitely. There's a site culture to be maintained, and as the site gets larger the core moderator culture becomes a smaller and more isolated part of the site.
That's very much considered offtopic on SO. Maybe other sites on the SE network such as Information Security or Software Engineering might have taken it. But I don't use either of those, so I don't know if that would actually fit into their policies.
That's exactly what I want to discuss on SO.
Most SO questions/answers are things that could easily be googled/RTFM with 5 minutes worth of effort. Seasoned developers/architects don't need that, and to be frank, it's pretty low-hanging fruit and not super valuable.
What is valuable are opinions, experiences, perspectives on trade-offs and engineering considerations. These are, of course, highly personal and subjective. But that's why it's so important - it's this kind of experience that people pay high salaries for, not answer to specific code one-liners.
If SO isn't willing to provide that kind of discussion, they're going to very susceptible to someone who starts up a competing platform to do so.
The whole philosophy of StackOverflow was that it wasn’t about sharing opinions, discussions, etc. - it was about questions that have an answer.
Jon’s post points out this difference: that some askers want to ask a question, but haven’t taken the time to understand what makes StackOverflow different to the discussion forums of old.
The people answering questions have time boxed their involvement. Here's 15 minutes, here's an answer and move on.
I've had discussions on slack that span days. But that's ok... because its people I know and trust to be mindful of my time and theirs. They ask interesting questions that make me think.
To open up the spigot to everyone asking those questions (and while they are the ones I'd be most interested in having a discussion with), would make it impossible for me to ask or find anything in the future.
And as an expert in my domain, I'd be rather annoyed at getting dozens (or I suspect hundreds Jon's case) questions asking my opinion each day. I don't have time for them. I've chosen to spend time to answer this question and have a reasonable work / life / social-site balance.
Those sites all work exactly the same as StackOverflow and you can login with a single account. Just the rules regarding content are different. See for example https://softwareengineering.stackexchange.com/
There is also the Area 51 site for proposals for new sites: https://area51.stackexchange.com/
They're still around. They're smaller... and by being smaller they are more useful.
What Stack Overflow killed off was Experts Exchange and a smattering of forums. Some are still around, but they're not trying to be searchable. Reddit's /r/javahelp or Code Ranch - every time there's a question its posted as a new question. Few people go back to find old posts there, but then that's the way the community works... and it works because it is so much smaller than Stack Overflow.
IRC channels and Slacks have taken some of it, with all the downsides that comes with that.
Is discuss the keyword here? Because a back-and-forth is not exactly what the Q&A format enables.
And I think that Q&A format of SO is actually quite appropriate for that sort of thing; unlike the usual discussion forums, which may get into real discussion of nuances of expert consensus. (Maybe that's where the cultural misunderstanding about SO comes from, that people actually want a site which will give an expert opinion, more or less, without having to read experts arguing too much?)
i.e. these high quality but subjective answers are still being created on Quora, but not SO. That strikes me as being a problem for SO.
They are different sites for different purposes and different audiences. Trying to make one site to be everything for all people doesn't work well for any of them.
If SO is for facts, data, and science why do I so often see accepted answers that are wrong. And I'm not even talking about accepted answers that got wrong because the environment changed.
The person who asked the question can only tell if it did supposedly solve their problem. They can't tell if the answer is actually sound advice or if it has subtle problems that another answer solves better.
The accepted answer also gains the top spot, even if other answers have gained more upvotes.
> That's exactly what I want to discuss on SO.
Broad-ish architecturing questions belong on https://softwareengineering.stackexchange.com/ (formerly known as programmers.SE). A good rule of thumb for which of those two sites to go to is, does your question have code?
(Also, "discuss" is a forbidden word on StackExchange - it's Q&A, not discussion)
What does this division help to achieve? The two communities are in exactly the same format.
The division is there so that questions about design and architecture have a place to get asked that don't get closed as off topic (lacking code) on Stack Overflow. Consider a question like In an agile process, how much work should be done by the PO on a project or feature before presenting it to the team? - https://softwareengineering.stackexchange.com/questions/3676...
The format doesn't dictate topicality... there are many sites that use the same format. https://cooking.stackexchange.com for example.
Isn't that kinda what hackernews is? The breadth of discussion here is far more varied than hackernews. I'd also think a place like lobste.rs or maybe an architecture specific slack would be a good spot for this.
I personally think it is fine for SO to set boundaries of what is acceptable discussion, and at the same time it is ok for you to be frustrated with that and think of other places to ask your (very valid) question.
With that introduction, I strongly recommend reading A Group... in particular the fourth item of the Fourth Things to Design For.
> 4.) And, finally, you have to find a way to spare the group from scale. Scale alone kills conversations, because conversations require dense two-way conversations. In conversational contexts, Metcalfe's law is a drag. The fact that the amount of two-way connections you have to support goes up with the square of the users means that the density of conversation falls off very fast as the system scales even a little bit. You have to have some way to let users hang onto the less is more pattern, in order to keep associated with one another.
The design of Stack Overflow is one that tries to hinder the ability to discuss. This is intentional. Consider how hard it is to search discussions. Try finding a comment here or a particular post on Reddit, or something someone said on Usenet or a mailing list archive. They work ok in small sizes, but they fail miserably when the scale goes up.
If polling / opinion gathering / discussions were allowed, Stack Overflow would be no more useful than forums of old. It would be impossible to find anything of value later because there would be too much noise. All of the chatter makes finding the questions and answers that people are searching for harder. Having questions that don't follow the "One question, one complete answer" make it more acceptable to ask more of those questions making it even harder to find the question with the answer.
There are other sites that are better designed for polling and discussions. Stack Overflow because of that. Hacker News, Reddit, Quora, Slant.co. Stack Overflow doesn't need to be all things to all people.
Stack overflow doesn't need to be all things for all people. Its trying to do one thing and do it right. Fighting against that design brings friction in usability. Fighting against the intent behind that design brings friction in the community.
Stack overflow is susceptible to someone providing a better Q&A site. But building a better Q&A site that provides for discussions? I haven't seen that design scale much beyond the department Confluence install.
Continuing to the next paragraph from A Group...
> This is an inverse value to scale question. Think about your Rolodex. A thousand contacts, maybe 150 people you can call friends, 30 people you can call close friends, two or three people you'd donate a kidney to. The value is inverse to the size of the group. And you have to find some way to protect the group within the context of those effects.
I do not know whether it applies in this case, but I know from my experience in other areas that it is not uncommon for objections of this type to demand a specificity that is not actually necessary for a good answer to be given - and undue specificity means that fewer related questions can be redirected to its answer.
Broad questions like that don't have a single good answer that fits every scenario, they have lots of different answers, each of which is the best fit for a different scenario.
The problem with a site like SO allowing questions like that is that you _would_ get an answer, that answer would be accepted, and that question would appear really high in search results. When the next person comes along needing an answer to the same question, but in a different scenario... they're gonna take the one that was given there, even though it isn't the best fit.
Scale this up to SO's scale across a few years and all of a sudden SO isn't a trusted resource any more; it's more like experts exchange used to be, where it was full of answers which _can_ be valid, but are basically useless to everyone, and taking that advice can actually be actively damaging.
I get why your question is on hold. But I find it unfair. Some of the best questions and answers have been highly opinionated. And I have often been led to on hold questions by google.
An opinionated SO site might be nice. In the old days we had newsgroups for this. But that audience has disappeared when everything moved to the web.
It’s like the high karma answerers are exactly the subset of the site that you want seeing and answering your question because the site supports the idea that they are good at doing that, but they’re always reflected as some kind of tyrants appointed by an evil overlord.
Broken site design somewhere that leads to that effect.
Are you 100% sure?
Because from my experience, the most useful subset is between 100 and 2,000, those with experience but not arrogance. The top karma hoarders more often than not provide citations from official documentation and sabotage questions.
I wish they were appointed by an evil overlord because the overlord is better than a swarm of annoying mosquitoes.
it doesn't communicate that, they're not who you want - as you say in this comment.
That's what I was commenting on. The disconnect between what that karma should say vs. what it does say
And .. I downvoted you. I hope it will sting. People giving up free time to add value to your thing and you blame them for the site problems? Then the site design is really failing, if the problem is all the people being engaged with it.
Whereas on stackoverflow when I downvote it’s for “this question shows no research effort” which is the downvote button tooltip, but a single downvote is felt as a personal attack on character.
Stackoverflow is for programmers - people whose character traits are tainted to be nitpicky about small details - yet the bad experience angry posts call answers traffic cops and Martinets - exactly the kind of people who could help get your code past the compiler or browser or api or whatever.
“Neutral” responses feel like negative ones (see: “what have you tried?”).
As an answerer more than an asker, if I help someone understand then I feel good, if it seems someone asks from a sense of “help me” I’m endeared to the question and if they ask from a sense of “solve my business problem” I feel more abused (personally or site-being-abused) and resentful.
No amount of Jon Skeet blog posting about the classic usenet popup “this reply will be sent to thousands of people who will have to spend time and money on it, are you sure?” seems to work on the modern web.
If it were me reworking it, I’d get rid of the low quality question idea, let answered be the judge of that and google sort the wheat from chaff.
Then get rid of downvotes and close votes and “neutral” comments.
Leave only room for feedback buttons that in some way communicate “I tried to answer your question but couldn’t, Your question might be more answerable if ..”
Forget being a repository of high quality questions and answers in the same way software has forgotten about big design up front and perfect quality goals and turned into “put an MVP on GitHub and let the issue tracker be the driving force”.
The goal of “stop duplicates, everything that can be questioned and answered has been questioned and answered” forgets that there are 150,000 new humans every day, and thousands more existing people learning to code - a goal of turning everyone away with “that’s already finished nothing for you to do here” is .. daft.
Questions and answers are, if nothing else, practise. A good way to learn is to try explaining it to someone else - SO churn has that room.
But not on stack overflow, where following the site plan for downvotes and closevotes makes everyone feel shitty.
I even doubt it is “high quality questions” that are supported but a combination of “this question feels like the asker is like me” combined with “and they’re asking about a thing I like and feel positively about rather than an edge case of the tool I feel bad about and wish the asker would politely overlook it like the rest of “us” all do”.
Please (re-)read the site guidelines and follow them if you want to keep commenting here. That means, among other things, posting with scrupulous respect for others and eschewing jabs and swipes.
I can't see whether I was downvoted but I see that the net result is very positive. But I'll take your word on that.
Perhaps your view is not shared as widely?
> People giving up free time to add value to your thing and you blame them for the site problems?
Do read my original post. My problem is people who don't actually contribute but nitpick on how the questions are worded. How does kicking me out or ignoring my question at best help me resolve my issue?
I would prefer them to keep the free time they dedicated to harassing me to themselves.
I do find your suggestions on design sensible though.
It was intended to be a contrast of what downvoting is vs should be.
"That site you try to contribute to is horrible and the problem is the people" - well ouch. Retaliate hurt with hurt. Or comment with downvote.
Do read my original post. My problem is people who don't actually contribute but nitpick on how the questions are worded.
But I do both.
I pick on details until I feel the question is sufficiently clear and scoped that I can answer it, and then I try to answer it. Sometimes it never gets answered so my comments are left as just nitpicks and sometimes it's answered by somebody cleverer or with different experiences before I can understand it and it looks like I nitpicked while someone else answered and I should have answered instead or shut up.
But unless you only want the best people answering you get whoever is about and willing to engage.
And aren't we then back to the open source model - it's shitty but it's free, who are "you" to expect or demand better?
I went all the way from a simple coder to management, and now I'm doing both, running my second startup. I talk to people of different walks of life, and I always do my homework.
But on Stack Overflow, it's like I'm back to the early years of my career, a stupid newbie whose questions get randomly downvoted. I delete it, tweak the wording a little bit, and now it's suddenly accepted. I say something like, "a solution or a 3rd party library", an idiot downvotes me saying that "requests to recommend 3rd party libraries are offtopic". I change it to "a solution (3rd party library is OK)", and now it's suddenly fine.
It's like the mafia of high-karma answerers decided to adopt Les Grossman as their role model.
As a side effect, the good answerers are gone, and the really tricky questions are left unanswered, so I often answer them myself. Although, the way Stack Overflow is, my desire to contribute to the community is diminishing.