10 ms·
Stack Overflow is documentation, not Q&A
- vouaobrasil 2y agoStackOverflow has become a mess. Half the time I search the answers are outdated and there is no incentive on the platform to improve old answers.
- deleted 2y ago[deleted]
- Olesya000 2y ago[dead]
- jasode 2y ago>At some point that “helpful” vibe changed. Stack Overflow ceased being a question and answer site, and begun calcifying into a documentation site. Questions are answered with “see this other answer”. >Maybe it’s the fate of all Q&A sites to eventually become documentation sites. If you answer the question “correctly” once, why bother repeating yourself? You have misunderstood the editorial intent of Stack Overflow because it was always meant to be "documentation" more than a service to answer any questions including repeated/duplicated questions. This misunderstanding isn't your fault because most people visiting that site misunderstand it. I wrote a previous comment citing co-founder Jeff Atwood's reasoning: https://news.ycombinator.com/item?id=21115438 https://news.ycombinator.com/item?id=21115438 StackOverflow seemed to be "more helpful" in the beginning because the volume of content (aka "documentation") was still being seeded and built out by the new questions. Being helpful was a side effect of the site not having much content. But now that there's a ton of content, a new question is more likely to be cross-referenced to a previous answer and therefore "Closed as duplicate" or some other reason. Yes, that seems a little rude and "unhelpful". And people don't realize that's the way Stack Overflow is designed to work. EDIT to also add comment from co-founder Spolsky: "In our equation, we are a community of people writing answers that will be read by hundreds or thousands of people. Ours is a project more like wikipedia" from https://news.ycombinator.com/item?id=3656581 https://news.ycombinator.com/item?id=3656581
- JohnFen 2y agoThis is correct. It's also a problem. SO is still useful, but its utility has seriously diminished over time because of this approach. Too much of what's there is incorrect, outdated, or questions that aren't addressed elsewhere are unanswered because someone mistakenly thought it was already answered. So would be much more useful if there were some effective mechanism to get rid of or correct entries that were answered incorrectly in the first place or have become incorrect or no longer relevant with time.
- jasode 2y ago>So would be much more useful if there were some effective mechanism to get rid of or correct entries that were answered incorrectly in the first place or have become incorrect or no longer relevant with time. Sometimes, the community will "fix" that by having a newer answer get upvoted beyond the "accepted" answer. E.g. a Python 3.2 answer with more modern syntax in 2014 gets upvoted above the Python 3.1 accepted answer in 2010: - https://stackoverflow.com/questions/2331592/why-does-datetime-datetime-utcnow-not-contain-timezone-information/24666683 https://stackoverflow.com/questions/2331592/why-does-datetim... But that type of "correction" only happens on popular questions. The more obscure questions and answers that are wrong will remain wrong because there are not enough eyeballs and/or widespread expertise to fix them.
- arp242 2y agoI answered a popular-ish Ruby on Rails question in 2014 and it's still 3 votes shy from overtaking the outdated top answer from 2009. I don't even know if my answer is the best today because I haven't done Rails in years. I definitely think this is a major pain point in the platform. I don't think that doing away with duplicates is the answer – instead there should be a way to downrank outdated stuff. Or something. I think they were experimenting with some approaches, but I haven't really been active in the last few years.
- lifefeed 2y agoI've read that, but I disagree. Stack Overflow would be better for the community if it allowed repetition. Repetition isn't harmful, and it lets the next generation learn how to answer questions, which is a legitimately hard skill, and I'm arguing is more useful than creating a static repository of documentation.
- constantcrying 2y agoStack overflow exists because no one is teaching people how to use documentation properly. Many, many questions people have, have great answers, including context and further reading, if they actually found the documentation.
- kbolino 2y agoFirst-party documentation quality varies wildly, and in general has fallen off a cliff from the days when everything had a comprehensive, multi-volume, doorstopper manual. There's also a lot of tinkering and breaking things that is necessary to develop a deeper understanding of a piece of technology, without which the manual is far less useful. Knowing where to look in the official documentation is half or more of the battle. Modern attention spans, planning expectations, systems complexity, etc. are not geared towards developing this deep understanding. Moreover, the number one tool developers who cut their teeth over the past ~20 years have relied on to help them find the right answers, Google Search, has degraded massively in quality lately. Stack Overflow arguably breathed new life into search engines for a while, until SEO-hacked junk overtook it. Who can forget the classic forum posts "I fixed the problem [no details]" or "Why don't you Google it [even though this is the only meaningful Google result]". Even Stack Overflow runs into those issues, sometimes, though.
- constantcrying 2y agoFor many large software projects there is great, searchable and comprehensive documentation. If you know where to look, te answer to your question is most likely already there. Of course there are questions not answered in the documentation, which is where stack overflow can shine. I think the real problem is google, if it was a great search engine it would give you the appropriate documentation page for your problem and many, many people would never visit stack overflow for the answer.
- vundercind 2y ago“Goddamnit, I forgot the syntax for doing a for…in and assigning both key and value in this language, yet again, and my first two guesses were wrong” Searches, clicks docs page, greeted with 20,000 words about flow control in the language, only the eighth example of for loops has what I want Searches, lands on SO, what I need is one screenful below the fold, done The only strong counterexample to this pattern I can think of is everyone’s least favorite language, PHP, because of its combo of narrow-focused docs pages and community posts on each filling in any gaps and pointing out any weirdness or features that exist but should be avoided.
- kbolino 2y agoOne of the biggest problems with Stack Overflow, and this applies to Reddit as well, is that it's not a viable business model. There's nothing monetizable about the "core business" of asking questions and getting answers. If there was, Quora or Experts Exchange would have prevailed instead. Finding the right nonprofit structure to handle this need is difficult. And you could always end up like Wikipedia instead, which seems to spend 90% of its donations on things other than its operations, and yet cries that it will shut down if you don't donate your next latte (but I don't drink lattes...).
- deleted 2y ago[deleted]
- qwerty456127 2y agoA serious problem with Stack Overflow is it allows only one right answer. As time passes, in cases when the question author haven't specified an exact version of a library in the question title (which is the case more often than it is not), better solutions become possible. And the old solution can become impossible. Yet the initially accepted answer to the question remains chosen forever.
- ryandrake 2y agoStackOverflow is a great resource if your question is "How would I have done this particular programming task back in 2012?"
- nneonneo 2y agoSure, but there’s more than one answer listed. If the right answer isn’t clearly up to date, try a different one, or sort by recency if you want to see newer answers. And, if the accepted answer is hopelessly outdated, suggest an edit to add that caveat so others know to skip it.
- qwerty456127 2y agoPeople rarely care to provide new answers to old questions yet you can be unable to post a new question because it's exactly the same as the one asked and answered a decade ago. You just need a solution relevant to the present day but no, you can't ask for it.
- bryanlarsen 2y agoDoes anybody actually pay attention to which answer has the check or not? Upvotes is by far the most useful signal.
- qwerty456127 2y agoYet even highly upvoted (because useful and interesting) get deleted often (fortunately my points let me see the deleted) for sake of some bullshit rules.
- nneonneo 2y agoAs someone who was very active answering questions on SO, I can say that duplicate or low-quality questions were a pretty big issue on the site. It might be fun to answer “what does * do in a Python function call” once; it’s quite another to answer that same question a dozen times. “Mark as duplicate” is an important way to keep the workload down, and to centralize questions around a single high-quality source of answers. People also forget that answers are not set in stone. Answers are editable - if an answer needs to be updated for the latest version of a framework, or it’s been obsoleted, just add that to the answer! Low-rep users can suggest edits, while higher-rep users can just go in and edit them. Its not uncommon to see the top answer have an edit pointing at another answer for some newer version. Centralizing around a single deduplicated answer also has a major benefit: multiple answers can gather on a single question. It’s not always the case that one particular answer works for everyone, so try different answers and see what works (and upvote the ones that do work!)
- Izkata 2y ago> if an answer needs to be updated for the latest version of a framework, or it’s been obsoleted, just add that to the answer! Depending on how much of a change it is, that might also be discouraged. Adding a disclaimer about being for an old version is generally fine, rewriting it for the newest version is a big no-no - that's when it should be a new answer.
- Neikius 2y agoKinda hard to get rep nowadays though.
- oxfordmale 2y agoThe real problem is that genuine questions get dupe hammers. Yes this was the right solution in the Python stone age version, but no longer the right solution in the current one. Of course I can give an alternative answer on an old question, but it will appear very low on the page and will get missed by regular users.
- bachmeier 2y ago> Answers are editable - if an answer needs to be updated for the latest version of a framework, or it’s been obsoleted, just add that to the answer! Yeah, I tried that, and they've always been reverted without explanation. Best you can do is comment and hope someone reads it. I think that's more common today, since it doesn't take long to realize the comments are where the useful information is found.
- arp242 2y agoStack Overflow was never about helping people out; right from the start. It was a response to searching the internet trying to find a solution to your problem, ending up with a forum thread with three pages of discussions, and the OP coming back with "nvm i figured it out", but no solution. It was always about long-term documentation. Go read some of Jeff and Joel's old stuff from 2008-2009; it uses exactly those kind of examples. And stuff like this: > I think repetition of answers is healthy. Yeah ... try answering questions for a few months and come back to me on that. I was never on Stack Overflow to be an unpaid tutor, to "teach the next generation", or to be a free debugger-as-a-service. Most people aren't. And no doubt Stack Overflow is far from perfect, and that at times people interpret the rules (far) too strictly, but this is the same ol' bollocks that's been doing the rounds since 2008, mostly propagated by people who have rarely spent any time answering questions.
- rerdavies 2y agoThe biggest problem with Stack Overflow is that both the questions and the answers age poorly. A question that was asked and answered for Android 7 is no longer relevant for Android 14. As a result, many, if not most top answers are no longer relevant. I find these days that the answers I'm looking for are increasingly answers that have snuck in during the brief period before questions are flagged as duplicates. For most original questions, the top ten posts are so old that they are no longer relevant. StackOverflow would be so much better if questions that were flagged as duplicates were not closed for further answers. Flagging a question as a duplicate should be an advisory, not a death knell. There's also a huge problem with questions that are not duplicates being flagged as duplicates, because there's no penalty for editors being wrong, and no easy way to appeal that decision. Determining whether an answer is a really duplicate often involves close reading of both the original and the new question -- something that seems not to happen in the majority of cases. The problem is compounded because editors have a direct incentive to flag non-duplicates as duplicates. And so, the quality of answers continues to decline. As a concrete example, my StackOverflow account has accumulated about 5,000 points for an answer I wrote for Android 7 that describes diagnostics that were changed in Android 8. Nevertheless, it continues to accumulate about 100 points a month even today. I can't be bothered to fix it, because it would involve significant research. The contents of the diagnostic results aren't documented. I had to go to Android source to figure out what was actually being reported. And it's not a topic that particularly concerns me at present. If someone were to go to the trouble of analyzing Android 14 sources to update my post, I doubt they would ever be able to overcome the very significant number of upvotes my answer over the last 8 years.
- bonton89 2y agoThis explains why the only currently functioning answer to many questions I have often has 0 votes and is half way down the page.
- unclebucknasty 2y agoI've found the version issue to be significant on SO and in documentation in general when accessed via a search engine. Sometimes, it's "does this solution still work at all?". Other times, it's "is there a better or preferred way to solve this in later versions?" For SO, seems a "version applicability" option could go a long way to solving this.
- renjimen 2y agoImplement half life on upvotes. Tech changes (faster now than ever). This will allow newer answers to float to the top and make older questions more obviously replaceable, providing space for beginners to ask questions better couched in today's problem/solution space. Personally, I find so many of the package-specific answers for Python are out of date. They don't work and/or are not written to current best practice.
- awkward 2y agoThis seems like a rose colored look at SO. I'm sure the candor was a little bit more pleasant than usenet, but I'm not sure it was ever a free flowing Q&A. From the beginning the founders were pretty clear that a "read the faq" culture was worth encouraging on the site, not coincidentally because that aligns well with SEO.
- cletus 2y agoUp until 2010 or so I used to be pretty active on SO. It was Jon Skeet, Marc Gravelli then me on the top users. I stopped for a variety of reasons, some of which are completely unrelated to SO but here were several big issues I could see then (and I commented about on Meta SO at the time): 1. Moderators were already getting out of control. They had decided among themselves that questions without a provable answer needed to be purged from the site despite them having clear value. A question like "Should I use Java or C++ for X?" can have an answer like "These are the benefits of each and things you should consider". By 2010, that was an automatic "closed, not constructive". 2. Users didn't understand what was and wasn't a duplicate. Two questions may sound simimlar but one important detail can ccompletely change the answer. 3. SO had its most value when all the information was current but as time goes on answers become no longer current and I didn't know how that would be handled. A correct answer in Java 7 might be incorrect in Java 14. I believe this is still handled haphazardly and is a huge problem with, say, Android; 4. The system rewards low-hanging fruit and pretty much discourages any complex question or answer. A complex but legitimate question might be closed as being too specific. It's less likely to find an answer and fewer people understand the answer so won't upvote it (or, worse, will upvote the wrong answer that sounds right). 5. It suffers the problem that all sites do that require users to effectively to rank answers (be that with upvote/downvote, liking or whatever) and that is that people vote for what they like, not what it is correct. Post an objective question about an issue in C++ and a provably correct answer that is perceived to be negative of C++ will attract downvotes from C++ devotees. This applies to SO, reddit, social media sites, HN, etc. This is a pretty negative experience for the answerer. Forums suck because they're time-ordered. SO's big value was that answeres were net vote ordered so the top answer was often (but not always) the best and/or correct. I wouldn't necessarily call SO "documentation". "Ossified opinion" would be more accurate in a lot of cases.
- bena 2y agoI remember your username. But StackOverflow suffered the issue every site that relies on user contributions/moderation does: it ultimately caters to those with the most free time, not those with the most expertise. And I don't think there's an easy way around the problem.
- rhelz 2y agoStack Overflow is training data.
- barfbagginus 2y agoThe problem I see is the SO is a substitute for well written documentation, rather than an incubator for quality technical writing. It depends on open source docs being poor so noobs need experts to educate them. But it does not place a burden on the experts to improve the original docs. For example, Python peps and standard library docs are often painfully and needlessly laborious, such that it's often easier to just read the code. Similarly, the git manual is written to induce episodes of acute madness. The SO solution? Read a thousand piecemeal SO answers, get the job done in a slapdash way, get paid. Don't worry about the inaccessibility, waste, and exponentially accruing technical debt of the whole enterprise. Priests of this cult often avoid reading the docs, and never pick up the responsibility to improve the awful docs. The SO high priests will gladly regurgitate their knowledge like mother birds, often in writing as bad as upstream docs. Typically defending and normalizing the inaccessible upstream docs. It's an accessibility nightmare. You end up with millions of inefficient and insular tidbits whose sum is somehow less than the whole. It's designed to make users dependent, rather than free them. It feels like there was a time where SO could have become more. But doing so would have lessened use reliance on SO, and required answerers to improve upstream docs. They chose to be self contained and derivative, rather than transformative to upstream projects. It will be dismantled. Now SO has so much entropy that it's only good for AI reprocessing into docs for upstream projects. Thankfully much of SO knowledge is now bundled into LLMs. So getting actually legible docs is usually as easy as pasting the project docs and asking for an organized and straightforward docs. The challenge I see is closing the loop and ensuring upstream docs improve. The culture of inaccessibility is too entrenched for SO to do this - the org's revenues would have to collapse. But AI can work to the advantage of an accessibility focused upstart. They can liberate, mobilize and reintegrate the captive knowledge of the SO corpus. They can push it back into open source project docs. And in cases where upstream prefers bad docs? The upstart should fork the project and take responsibility for project accessibility.
- chucke1992 2y agoI remember the days when I used SO extensively when I just started development. But now just regular search and experience is just enough to resolve most of the questions and not to deal with the arrogance of some folks on SO.
- aaron695 2y ago[dead]