For one thing, it seems almost all the code snippets use "print-without-parenthesis" from Python 2, so you cannot just cut and paste them into Python 3. It isn't hard to fix this, but it's a clear sign the lights are on and nobody is home.
The lack of curation is a problem too. Often the first answer is wrong, or less than optimal. From the viewpoint of somebody looking for answers you don't really want 10 people's opinion, you want one really good answer.
If it's a really popular question I think making it a community wiki is an alternative.
For instance, on this question I posted a nicely upvoted thorough answer to a popular old question whose other answers were dated. By active sort it becomes #2 (#1 is always the accepted answer), but by votes sort it's #4.
https://stackoverflow.com/questions/695151/data-protocol-url...
The part about an old answer that was highly upvoted but is no longer right definitely exists — I'm not sure if they've thought about solving that one.
This becomes especially noticeable when answers based on an old version of the language or library no longer work for a newer one.
https://meta.stackexchange.com/questions/93969/is-changing-t...
https://meta.stackexchange.com/questions/120568/is-it-possib...
I think that's not such a bad thing. https://i.imgur.com/Uq6tksu.jpg
But yes, answer rot can be a bit of an annoyance. Often it helps to check the answering date. The official answer to the problem is that one should post a new answer to an old question, but it would be great if one could just drive-by flag things as outdated, needs update or something like that.
I think the word "curate" is interesting here, as in, pick for emphasis. I think maybe a mistake that SO makes is to close or remove topics, rather than "deemphasize" them.
Instead of closing things, why not just make poor answers and poor discussions lead to less likelihood of being found in the search engine. (I suppose this might take some coordination with Google et al..)
One thing I don't particularly like about SO is that the questioner must select the "accepted" answer. Quite often this isn't the best one, or there isn't a best one, or there is too much discussion in the comments and not in the answers.
What is missing imho is a meta vote. Individual questions and answers have votes, but I think the "selection of the best answer" should also have a kind of "confidence vote". This might help to make the most interesting questions and answers more visible.
On the other hand maybe it's so "meta" that no one would use it, and a recommendation engine is only as good as the willingness of users to recommend things..
But in any case my overarching point is that there are too many "binary" evaluations of goodness on SO, instead of letting things bubble up to the top when they're interesting. (The difficulty of course being to define "interesting" as useful and accurate, rather than just clickbaity.)
Questions should also "age" and become deemphasized with time, especially for more popular topics. SO is getting old, with a lot of out-of-date stuff, and relying on manually closing topic to maintain quality isn't going to help with that. If stuff aged out, it would push the more recent stuff to the top. It would also increase engagement since there'd be space to answer the old questions in new ways without it being futile.
That's not to say the old answers are bad (people have to work on legacy stacks after all), but you should only find that stuff if you want it.
As to "timeless" - consider that even such material can expire. The "timeless" information about how to simulate a closure in Java (valid from 1996 to 2014) is no longer timeless. The timeless material applicable for all versions of Python (until Python 3) would make it just as difficult to get rid of as a green checkmark next to the answer that someone found helpful at some point in the past.
If you ever create a meta-moderator user script for Stack Overflow I'd be interested in seeing how well it works. The biggest problem being the volume of material that is coming in on a daily basis.
These are only a few instances of places on Stack Overflow where community curation of larger material has worked. The C++ community on Stack Overflow is very careful and protective with https://stackoverflow.com/questions/388242/the-definitive-c-... . But outside of that, most people let questions and answers rot.
Fun and interesting can happen when it doesn't become a distraction for the site as a whole. MathOverflow, with more active curation that is possible with a larger active contributor to overall community ratio is able to handle list questions ( https://mathoverflow.net/questions/tagged/big-list?sort=vote... ) in a way that has often failed to be curated well on Stack Overflow.
The "less likelihood" is a binary thing. Stack Overflow can't say "index this, but don't show that result often" to google. Google does what it wants. The way to remove noise to help with the signal for that vision of good programming knowledge is to, well, remove noise. People up voting fun things makes that signal for good material even harder to find though.
Right, but I guess I'm sort of suggesting that what is needed is something in-between. "Soft" curation, if you want. Just an idea anyways, but it seems to be like it would be more scalable, and less likely to cause controversy e.g. when something gets deleted.
> The "less likelihood" is a binary thing. Stack Overflow can't say "index this, but don't show that result often" to google. Google does what it wants.
But yeah I guess that is the crux of the matter.. not much can be done about other people indexing old/bad stuff.
Are you serious? Whenever a community allows for more-or-less self-appointed authority figures, they ALWAYS emerge, as they are drawn to the perceived power.
Wikipedia, Stack Overflow, etc. They all have their toxic "lawyers". Users who have passed a certain threshold of "points", or else are simply willing to invest the time to squat on a topic, and enjoy abusing the power to delete or revert contributions from others.
To a certain degree it's probably a good thing, as the sites would be overrun by trolls without them. But they also tend to calcify the culture after a few years, and drive down any incentive for new contributors to step in.
StackOverflow's core problem isn't a lack of people willing to edit questions or vote-to-close. It's core problem is that it's been at least 5 years since I last felt like reading or answering any open questions, or even posting any new questions of my own, and I don't think this sentiment is uncommon.
But that's the point: if people are leaving the site to get that discussion and fun stuff elsewhere they're not on the Stack Exchange network, and so they're not answering or tagging or voting or flagging.
Fun material is rarely present on sites intended for technical accuracy. Trying to add jokes to Wikipedia main page content is a similarly fruitless endeavor.
wikipedia is routinely used as a site with a toxic culture that succeeds inspite of, not because of, its community.
Imagine how great Wikipedia would be if it the userbase didn't have a significant proportion of pathological arseholes.
The content and vision of the founder for that content is what draws people to Wikipedia and stack overflow.
That it takes people who occasionally need to be assholes in order to maintain that vision and ideal is a failing of communication to the out of sync contributors... and those contributors to follow that ideal.
There is nothing stopping anyone from forking the content stack overflow or Wikipedia and providing a different vision. If more people follow that new vision, it wins and the world shifts to a different site (that is what happened with experts exchange).
The main problem with the fork however, is getting the people who contribute good material and don't want to have to read jokes about exposed buttocks on the moon or favorite comic strip amidst documentation for Java.
The fact that these are three separate subs and not one kinda betrays your point though. How did it get this way, where there are multiple subs? Is it because the mods were overbearing, or because the community decided what it wants and doesn't want?
There are cases when content from one sub seeps through to another, and the blowback isn't nearly as bad as what you see on SO.
Its possible to have a site that is a mashup of /r/programming, /r/programmerhumor and /r/learnprogramming (and a few others) all on one site. Though when all of those things are together on one site it makes the job of the people trying to curate it impossible.
Sure, Strangest language feature is interesting... and it has 320 visible answers when it was locked. Is it useful? It might be interesting, but it is impossible to remove the crap content from it (go to page 11 and start reading backwards and saying "is that useful or not?").
Jeff Atwood wrote about this - https://stackoverflow.blog/2012/01/31/the-trouble-with-popul... . Too much interesting but ultimately not useful stuff gets in the way of finding useful stuff. This really runs up against the Atwoodian vision of Stack Overflow ( https://blog.codinghorror.com/introducing-stackoverflow-com/ )
> It is by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world. No matter what programming language you use, or what operating system you call home. Better programming is our goal.
Interesting stuff and fun stuff may be interesting and fun - but when it gets in the way of making a site that is a library of good programming knowledge... something needs to be done about it.
Everything doesn't have to be on Stack Overflow. There are many other sites that are better suited to discussions and fun things than the format for that Stack Overflow took as a Q&A site.
It may be boring and heavily controlled... but that unity of vision is necessary for trying to make it a site that provides material that I need when I search for how to deal with some programming problem of configuring Spring Statemachine or whatnot... and then interesting and fun gets in the way of me doing my job.