Over the past one and a half years, Stack Overflow has lost around 50% of its traffic. This decline is similarly reflected in site usage, with approximately a 50% decrease in the number of questions and answers, as well as the number of votes these posts receive.
The charts below show the usage represented by a moving average of 49 days.
What happened?
Why is everyone saying this is because Stack Overflow is toxic? Clearly the decline in traffic is because of ChatGPT. I can say from personal experience that I’ve been visiting Stack Overflow way less lately because ChatGPT is a better tool for answering my software development questions.
I was going to say ChatGPT.
I think the smugness of StackOverflow is still part of it. Even if ChatGPT sometimes fabricates imaginary code, it’s tone is flowery and helpful, compared to the typical pretentiousness of Stackoverflow users.
ChatGPT works very well (and patiently) when the person asking the question is asking one that has been answered a thousand times before on Stack Overflow.
Stack Overflow works poorly when google search results for it have been declining in quality over the years and it gets cluttered with duplicate (and unanswered) content that isn’t removed in a timely manner to keep the people who answer questions with quality material (not “try {code}. Hope this helps.”).
For an individual who is unsure about what to ask or how to ask, ChatGPT can walk them through the common problems much more easily and with better (and prompt) feedback compared to trying to get someone to help in the constant scrolling of the new questions feed.
On the other hand, if you are able to ask the question well, and have something sufficiently interesting that requires human eyes, ChatGPT becomes less useful while Stack Overflow becomes more useful.
In my experience, ChatGPT is very good at interpreting documentation. So even if it hasn’t been asked on stack overflow, if it’s in the documentation that ChatGPT has indexed (or can crawl with an extension) you’ll get a pretty solid answer. I’ve been asking it a lot of AWS questions because it’s 100x better than deciphering the ancient texts that amazon publishes. Although sometimes the AWS docs are just wrong anyway.
Also, you can have it talk like a catgirl maid, so I find that’s particularly helpful as well.
The timing doesn’t really add up though. ChatGPT was published in November 2022. According to the graphs on the website linked, the traffic, the number of posts and the number of votes all already were in a visible downfall and at their lowest value of more than 2 years. And this isn’t even considering that ChatGPT took a while to get picked up into the average developer’s daily workflow.
Anyhow though, I agree that the rise of ChatGPT most likely amplified StackOverflow’s decline.
Half the time when I ask it for advice, ChatGPT recommends nonexistent APIs and offers examples in some Frankenstein code that uses a bit of this system and a bit of that, none of which will work. But I still find its hit rate to be no worse than Stack Overflow, and it doesn’t try to humiliate you for daring to ask.
It depends on what sort of thing you’re asking about. More obscure languages and systems will result in hallucinated APIs more often. If it’s something like “how do I sort this list of whatever in some specific way in C#” or “can you write me a regex for such and such a task” then it’s far more often right. And even when ChatGPT gets something wrong, if you tell it the error you encountered from the code it’ll usually be good at correcting itself.
I find that if it gets it wrong in the first place, its corrections are often equally wrong. I guess this indicates that I’ve strayed into an area where its training data is not of good quality.
Yeah, if it’s in a state where it’s making up imaginary APIs whole cloth then in my experience you’re asking it for help with something it just doesn’t know enough about. I get the best results when I’m asking about popular stuff (such as “write me a python script to convert wav files to mp3” - it’ll know the right APIs for that sort of task, generally speaking). If I’m working on something that’s more obscure then sometimes it’s better to ask ChatGPT for generalized versions of the actual question. For example, I was tinkering with a mod for Minetest a while back that was meant to import .obj models and convert them into a voxelized representation of the object in-game. ChatGPT doesn’t know Minetest’s API very well, so I was mostly asking it for Lua code to convert the .obj into a simple array of voxel coordinates and then doing the API stuff to make it Minetest-specific for myself. The vector math was the part that ChatGPT knew best so it did an okay job on its part of the task.
Your follow up question should be for ChatGPT to write those APIs for you.
Over the last five years, I’d click a link to Stack Overflow while googling, but I’ve never made an account because of the toxicity.
But yeah, chatGPT is definitely the nail in the coffin. Being able to give it my code and ask it to point out where the annoying bug is… is amazing.