Ask HN: Is StackOverflow Dying?

96 points by __all__ ↗ HN
During last years I started seeing less good answers, and discussions around that website.

It's clear Google Search algorithm is favoring other websites. And probably AI and the new LLM models are being another reason devs will stop going directly to StackOverflow.

What do you think? Will StackOverflow keep up, or will slowly dye?

193 comments

[ 4.8 ms ] story [ 250 ms ] thread
Personally I haven't asked or answered on stackoverflow for a long time. Just one data point.
Personally the only websites I see displacing SO on Google results are sites that reuse SO content and game Google to get ad revenue.
This is the main use I have for browser addins that block sites in search results.
Which add on do you recommend? I’ve often thought, after clicking on some search result that instantly leads me to a full page splash, “I want to never see that domain again”
Try Kagi, I used a while ago and was amazing, now I default to DDG, I don’t see any cloned content sites or just too few that I don’t notice them.
Google and DDG should add a Kagi feature, where you can set the priority of the sites or even block them.
I just started using Kagi, and the ability to just bump Wikipedia as first results has been great so far.

I really need to try using Kagi more.

USD10 per month is too steep for me.
That's less than what you spend of coffee each month
Affordability isn’t the only input into the decision of spending money on something.
That's certainly not true of everyone. We don't all go to Costa and etc...
Even buying a bag to make at home...you're at ~$10 or more
You do you, but it comes out to pennies per search for me. 1000¢ / 30 days / 5 searches/day = 6.6¢/search, and that would be a slow day.
Not a browser add-on but changing to self-hosted searxNG. Proxy searches to your engines of choice, filter and rewrite urls to your liking (like yt->piped, medium->scripe.rip).
If only google could provide that sort of quality control.
Stack Overflow had the best intentions by making their data available for download.

The only outcome is see from that attitude is it fueled hundreds of spammy SO clones with names like “nerdsolution” and “geekanswer”.

We’d be better iff with SO keeping the data private.

Wait, hasn't it always been a (public) website ?
I'm guessing they released their data in a different format for download? Otherwise you'd have to scrape it which is not as easy as having it in a database.
Yep, this is what I see, I was looking around to see if anyone had a similar problem with D3 I was having, but all the sites were just republishing Stack ticked answers.
Discussion might be slowly dying off because most questions have already been answered. Maybe StackOverflow reached a state where it is mostly done and implicitly transitioning into a Wikipedia-style programming encyclopedia. This should show up in the logs, maybe somebody here has enough reputation on SO to have access to them.

If that is the case then new questions are mostly on new frameworks and new languages which are often niche tags and don't have as much engagement as the popular tags once had.

Almost all questions newbies could ask are ripe for getting closed as duplicate and complicated questions are rarely getting answers since they require too much context to fit into SO's format.

(comment deleted)
Not sure about stack overflow, but search result quality feels to be in decline. Lately I deliberately try to rely on official documentation more (i.e. have it bookmarked and browse it for answers) instead of trying to look something up in search engine. Which honestly is a good idea anyway.
I had an interesting conv. with my extended in laws about this last week. Basically everyone 20+ telling the mid teens that there was a golden age of google where it could answer questions "like telepathy".

It was interesting to hear a diverse (in occupation) non-tech group lamenting the search decline. I felt so validated!

Yeah I think the big reason there's not much discussion outside of tech is that people outside of tech were always less reliant on the Internet, but if you mention search engines to them, they'll often rant about how bad it's gotten.
I've noticed this trend for years, basically :

- for reference I land on official documentation

- for issues I usually land on GitHub issues and source code

- for random stuff I still hit SO - like some SQL problem, CSS, algorithm implementation

- for design stuff I land on blog posts

Personally I see stack overflow value reduce with good reference documentation and GitHub issues/open source dev discussions.

The fact that SO is purely QA and closes opinionated/discussion topics makes it less valuable. It made sense in the past when you couldn't communicate with devs so easily or when reference documentation wasn't that good. Especially for closed source stuff.

I find repo issues generally horrendous to browse/sear h. In particular 'stale issue' bots killing off well written issues with reproduction.
It's not great UX for sure - but the information contained there is usually the best - you can usually get historic context or maintainer views on some issue you've hit.
Sorry, tangential rant, but, God I hate stale issue bots. The issue is valid, it's reproduced, it's been discussed, nothing's changed, it hasn't stopped being a valid issue just because it hasn't had activity in 30 days, or 6 months, or a year.

Just means the maintainers haven't gotten around to fixing it/implementing it yet, nothing wrong with that - they don't owe anyone a timeline for fixing issues.

The only way to fight the stale bot is to constantly spam your issue with "bump" comments, which nobody's going to do (and if they do, surely the maintainers will just complain that you're spamming, and rightfully so).

So if the maintainers don't have time to deal with your issue within X months, it just won't get fixed. They won't even be aware that those issues are still there (because who goes through closed issues looking for stuff to do?).

And so I hit google for an issue I'm having with Project X, stumble upon a "closed" issue, scroll to the bottom, and see "closed by stale bot". WHY IS IT CLOSED WHEN IT IS STILL AN ISSUE.

Oh god. I recently landed on a Docker issue that exactly described my problem. Many reproductions, all questions answered and then maintainers stopped engaging. So the stale issue bot took over. Somebody untagged it, but a while later it redid it. That went on for months, after which somebody closed it manually.

The bot doesn't really change the outcome (if maintainers don't engage, they don't engage), but it a huge bunch of noise.

While I agree with this sentiment and share the frustration. Or some sense of lack of cohesion, but...

Remember the stale bot is an opt-in feature. It is the maintainer (s) who decided to configure it.

I think you might find answers of problems that are not converted in the docs, I mostly find stuff about JS, Ruby, css or SQL there, but for example for Rust I default to Github, docs.rs or Discord, it might have to do with the community of the tech you are using.
This is also true - I'm mostly in .NET world nowadays and the official reference is actually really good. For JS I default to MDN (SO is full of outdated junk). But when I was looking up RoR or Python stuff I was hitting SO more often.

So like I've said - as the reference docs improve SO loses value.

Yes I've switched to chatgpt for all my programming questions nowadays because of many reasons:

1. It understands the versions more clearly, it won't generate the code for Bootstrap 2 when my question is about Bootstrap 5

2. Asking follow up questions is easy. So the code didn't work. I tell it that and instantly it tells me what I need to do to fix it (leave missing config file, etc) or gives me an alternate.

3. Its answers instantaneously except when their site is down.

4. Its more customised as the answer is not a generic question posted an year ago.

5. It spans multiple domains of knowledge, so if lets say I get an error curl.so not found, it can tell me what I must run on the command line to fix that on my system too.

6. Its so much faster because there are no stupid questions. It's just like typing on google vs SO where you need to proof read and make sure its not a duplicate.

I would be interested in knowing why you are getting downvoted. Much of your experience rings true, except for me chatgpt tends to generate bogus code (though pointing me in the right direction).
I find it hard to believe that ChatGPT is useful beyond trivial things or giving you a lead that you can follow on Google. It's very frequently just plain wrong.
i'm wrong about most things most of the time. i'm pretty sure i'm still useful.
Well even wrong answers have utility in a forum. When someone posts a wrong answer on Stack Overflow, Reddit or in real life(?), it baits a bunch of replies describing in detail just how wrong that answer is.

ChatGPT has the user interface of an oracle sitting alone in a cave in the mountains, but it isn't as accurate as an oracle is expected to be. That makes it useless to me.

If you invest time in improving your skill at prompt engineering you’ll find it quite worthwhile.

And yes, often I do follow up google searches for some things - but it has already saved me days of research time compared to Google

I may be wrong but isn't chatGPT essentially trained on a web dataset that includes SO? I remember reading something about Common Crawl being used.
7. It doesn't ask pretentiously why would you even want to do that and opine on this being an anti pattern.

I'm so sick of these people on SO.

I was literally about to comment this as well. Actually, that's the biggest plus for ChatGPT right now.
Chat gpt will never get smarter though (learn anything new), unless actual people use stack overflow to provide the training data.

The most important comment on SO is the one where the OP says "I did this and that, and can confirm it's working". There is no such data when you only use the chat bot. It's a major problem. Perhaps the solution is a more tailored "stack gpt", where the "conversations" are published along with the human responses.

ChatGPT is already “smarter”. I can ask ChatGPT for the answer to my very specific problem and it can answer it snd give me code.

For instance, I needed to write a simple script that gave me all of the roles containing a list of policies where you can specify multiple policies from the command line using “-p” multiple times.

If I look it up on Google, I get this response which is close enough

https://stackoverflow.com/questions/66127551/list-of-all-rol...

And I still have to make slight modifications.

Of course I could write the entire thing myself just by looking at the boto 3 docs.

But instead I told ChatGPT

“ Write a Python script that returns a comma separated list of arns of all AWS roles that contain policies I specify with the “-p” parameter using argparse”

Then I told it, “that won’t work with more than 50 roles”. It then corrected the script and used a paginator.

Yes, I had to know enough to recognize the bug. But I count have written or modified a Python script that fast and I write boto3 based Python scripts all of the time.

I definitely could have told it that the first version wasn’t returning all of the results and it would have corrected itself like it did and added a paginator

I think the thumbs up and down button it shows on each response can be good for that. I think it can already classify similar questions so if it consistently gets a thumbs up or thumbs down it can become smarter too.
There is a chicken-egg problem with using ChatGPT for domain specific technical knowledge. ChatGPT is trained on data from sites like SO. If everyone starts using ChatGPT instead and technical communities die off, it seems like ChatGPT would quickly become ineffective.

You would still have documentation published by originators of the technology but a lot of programming is figuring out the quirks of things that aren't in the documentation or getting past bugs.

I genuinely find ChatGPT very useful for a lot of tedious tasks, but it's also very obvious that it's data cutoff point was in 2021. You can get it to write you an abstract generic Odata controller class in C# better than most searching on google, but it'll be with IActionResult and not ActionResult, sometimes it'll even be with Task<Iqueryable>, which is even older and it'll do this extremely confidently. Which is sort of fine, it'll work after all. It's also not fine, because there is a reason it's moved on to become ActionResult performance and ease of maintenance being some of the reasons.

Though to be fair, it's not like Stack Overflow, or even some of the less updated parts of the official documentation, will do any better than ChatGPT, but with ChatGPT you don't get a date on the knowledge and you don't get the comments from other people telling you that it's wrong or outdated. For me personally, there is also some thing about its confidence that makes me "trust" it more than the internet that I've spent 20+ years not trusting. I'm not sure if that's just me or even why that is exactly. I'm fully aware that the language model is basically just the internet, and still I believe it? I'm happy the first thing I asked it was on a subject I knew a lot about so that I could see straight away that its answer was very outdated. Because if it had been on a subject I didn't know much about, I'm not sure I would have even found out its cutoff point was in 2021. I only learned that fact because the answer it suggested was with a library that I knew was abandoned, to which I asked if it knew that, and it told me when it had stopped "learning".

the answers are generally ok, but most of the questions are almost inevitably duplicates
I think a lot of has to do with dev tools/frameworks having standard, nice, readable, UX friendly documentation websites.

Gone are the days of custom documentation layouts and designs that are hit or miss.

I think they also do a great job of capturing communities and discussions which SO purposely devalues. I imagine a lot of problem solving happens in discord and github now.

It might also be that SO was good for arbitrary and shallow questions, but most problems with more modern frameworks that aren't covered by the docs get domain specific and complex quick.

(comment deleted)
For physics, I noted that physics.stackexchange.com, which worked fine 10 years ago, was only filled with noise now and no answers. Then I realized people who usually answered stuff there moved to Discord servers and other sites. Maybe something similar happened to SO? It's like the gamification model that fuels the desire to post answers on those sites got old and boring..
I'm not sure it's the gamification itself so much as the details by which it's implemented.

I still rarely use stackoverflow to ask questions, but I've given up on answering them. I don't mind giving answers elsewhere, but stackoverflow specifically discourages that, somehow.

A few effects that are clearly harmful (IMHO):

- Stackoverflow's game mechanics strongly discourage duplicate questions. But this is pretty dispiriting when it happens to you - both as questioner, and as answerer. Additionally, duplication is often not exact; there can be significant difference that are sufficient to really change the appropriate solution. Stackoverflow is really bad at finding those.

- Even where questions are in essence duplicate, that is clearly not always obvious to the novices asking the questions. It's just not very helpful to close their questions in a rather toxic fashion and effectively berate them for not already seeing the parallels they were looking for in the first place.

- Stackoverflow discourages discussion. However, discussion is useful in finding the best solution or even merely discovering the context and limits of that solution.

- When discussion happens despite the SO UI, gamification rewards almost exclusively the primary asker and answerer; to the extent discussion is permitted, it's not encouraged to be constructive or healthy therefore.

- Stackoverflow's attention algorithm highlights new questions and highlights first answers to those questions. However, this encourages answers that are essentially "First post!!1!", and then maybe editing those into something better. It discourages well thought out responses. This isn't intrinsic in gamification; it's simply due to the way they've tuned the knobs.

- There's an intrinsic tension in how they've tuned their gamification: on the one hand, they encourage knee-jerk responses because speed is of the essence, and on the other, they discourage questions that benefit from quick-n-dirty answers. That tension doesn't lead to a healthy middle ground, it just leads to frustration and a bad experience.

Fora like this one and reddit also use gamification - we all see and respond to votes - but they do so differently. Stackoverflow could try to learn from that. And stackoverflow could make the gamification more collaborative, and less zero-sum. Whether they'll do so... I guess at this point I kind of doubt it.

Looks like chatgpt was trained on stackoverflow

https://ai.stackexchange.com/questions/38660/was-chatgpt-tra...

I wonder what its contribution was to chatgpt’s ability to answer coding questions. And what happens if chatgpt (or similar) displaces it.

Also interesting is that SO has banned chatgpt from answering but I suspect that will be another shadow “AI vs humans” war.

A lot of answers are now out of date. Some dangerously so. And its not just 'fast moving' languages. Bash, nginx, docker, gcp, bluetooth. Much of the landscape of these tools has changed since say 2015, but that is where most of the 'core' answers are from.

Many have notes that they are out of date in sub-comments. But its hard to be noticed against a 700 upvote selected top answer.

Perhaps SO should include version numbers so that you could search for solutions to problems with specific versions or the latest as the case may be.

Out of date answers are useful when you need to fix something based on old / un-updated OS and/or software. Not every installation uses the latest versions of everything.

Having a switch that shows answers to specific versions would be a huge help. Even if those were general guesses, or if it was up to the answerer to self-report.
They've introduced "Trending (recent votes count more)" sort option recently, but it's not the default (yet?)
This isn’t a good fix, because it requires people to give enough of a shit (fight against the feeling of decay) to look through the existing answers or write new ones that won’t get many votes because the question is already answered, and I say this as someone who has am answer just like this, python added a feature in the years after the original question was answered and my answer is by far the most ergonomic and simple answer, but I have zero expectations that it will eventually be vindicated… this one question alone serves as my guidepost, SO has been in decline for years, and it’s accelerating, and they have finally noticed and are trying to fix it, but it won’t work…
I think the experts basically got bored and left.

I've asked a couple of questions I'd hope would be fairly simple (like how to run a program in cgroups v2), set a big bounty on them, and never got a single useful answer.

Might it be time to introduce financial bounties?
Like Yahoo answers? It's probably tough to get the incentives balanced. Without a really good design you'll get lots of people without deep knowledge answering many questions and playing the numbers game.
I recently asked a question about Java and Maven development differences in VS Code between Windows and Mac OS and got only one answer from someone who didn't actually read the question. So, yeah, it sure seems that way.
(comment deleted)
every passing year the platform gets more and more hostile to non-americans. I gave up trying to argue and deleted my account. No regrets, modern-day documentation is more than sufficient
In which way? I'm not American and have never had any issue (4,500 reputation, so quite a lot of usage)
What do you do when the software you use does not actually have "modern-day" documentation?
I'm an American and I've been the recipient of hate on SO too.
Does Google amplify that which gets engagement?

When I go to SO, I frequently find the answer is not what I was looking for and I've probably missed some keyword to get where I'm going - so I'm back on Google within seconds.

Google doesn't need much smarts to see I'm bouncing off of SO and hardly ever sticking around - if this is a common pattern then it's not favouring other websites that provide a more sticky experience - implication being that answered my question as I didn't return to further refine it.

I have been using less SO over the years, as more and more libraries and even programming languages have their own Discord servers.

And there it’s easier and quicker to get a specialised reply, with less judgement or responses like “already answered in thread X”

But Discord is a chat. How it replaces QA website?
You ask a question. you get an answer.
I don't like that approach because the contents are not searchable using public search engines.
Google search results are declining, but most programming questions still benefit from a site:stackoverflow.com appended to the end, to remove the copycat spam.

It’s possible that new content is getting lower quality on SO, but for any area where a 10 or 15 year old answer is as relevant today as it was when it was written, it’s still a goldmine.

That makes sense as the site is almost useless now. It's been entirely taken over by people who do nothing but farm karma.

The current situation... If you're a noob who's learning, then your question will be downvoted to hell and u will be blocked as question is deemed low quality..

If you're a pro, then your question will be about something obscure which the mods don't understand, and also will require a more nuanced answer, so it will be downvoted to hell and u will be blocked.

So it's aimed at mid-level devs to ask things with certain answers, the kind of answer which would most likely be found in documentation. So the people who require help/answers the most are kicked off, whereas people who need answers/help the least are encouraged.

Stack Overflow was never intended for "noob who's learning". It's not a free tutoring service.

If your question is hard or highly specific then you're indeed less likely to get a lot of responses, because, well, your question is hard or highly specific. People on Stack Overflow are not omniscient.

Reddit has constantly provided better results to my questions over the past year.

Also, most subreddits accepts posting detailed "Am I doing this wrong?" questions instead of only perfectly asked ones that have never been asked before. I find it a better balance than SO removing a question I spent 30 minutes formatting because someone asked a tangentially related question 5 years ago.

Subreddits are more welcoming and answers your questions more compared to SO.
I think a major problem that stackoverflow has is that for recent questions, the average vote is a down vote.

It could be argued that the vast majority of questions are deserving of downvotes, but that itself is a problem and a turn-off and the definition of what qualifies as a good or bad question could be adjusted so that the majority aren't downvoted.

"Punishing" people for asking questions that would when the site was new be showered in upvotes feels like kicking out the ladder from under those of us who climbed it.

StackOverflow originated during a time when finding accurate and up-to-date documentation on the internet was a challenge. Today, however, there is a wealth of easily accessible, hands-on documentation that often includes links to support resources such as Discord.

In my opinion, this has led to two types of questions being asked on StackOverflow: very basic ones that the asker could have easily found in the documentation, and very advanced ones. Unfortunately, the number of basic questions far outweighs the number of advanced ones. As a result, the platform is losing popularity as users become increasingly less willing to answer questions that could have been easily researched.

Discord and slack and other chat platforms are horrible knowledge repositories. They're not indexed by search engines, there's really no archiving ability, searching them for anything sucks, there's no linking and horrible for long form content and lacking useful formatting.
True, though it aims to cater the use case for „I need support now“ and not for „I want to archive this question and its solution“.
Stack Overflow was never intended as "I need support now". A significant amount of friction comes from people using it as such, misunderstanding what the site's purpose is. This is understandable, because it's not easy to explain and the on-boarding experience doesn't help with it either.
There are a bunch of people in this comment section asking for StackOverflow to be things that are clearly non-goals for the platform. SO certainly has it's problems but users coming and posting without understanding what the platform is supposed to be for is a significant contributor frustration among users new and tenured.
I think it is. They advertise with „ask questions, get answers“, which is precisely what users are doing when they are in need of immediate support.
The advanced ones don't get an answer or are too open ended for the website, which is incidentally why I stopped asking questions, they never got an answer or got closed.

Got better results on reddit

Reddit is probably even worse though with its auto-closing of comments after a short time, and tolerance for reposts. (Both of which make for netiquette violations !)

P.S.: this is also an issue with hn, though at least dang et al. work tirelessly to identify reposts. It still makes it awkward when the best discussion that you would like to contribute to is locked, or worse, has now bits spread in consecutive discussions...

I never had a problem with a post closed on reddit and was able to ask very open ended questions, so independently of the rules, it was possible for me to get the help i needed, which wasn't possible on stackoverflow
This isn't so much about the first person asking the question-

(if they were really the first and not just failing to find previous occurrences of the same question being asked - because of the popularity of Reddit and how it works, the netiquette rule of searching first and avoiding duplicates seem to be forgotten in other spaces)

-but about those coming later with similar questions.