The Fall of Stack Overflow

https://beehaw.org/post/6801729

The Fall of Stack Overflow - Beehaw

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?

Rather than cultivate a friendly and open community, they decided to be hostile and closed. I am not surprised by this at all, but I am surprised with how long the decline has taken. I have a number of bad/silly experiences on stackoverflow that have never been replicated on any other platform.
Like what?

Honestly I have a question I answered myself and was up for over 10 years with hundreds of views and votes only for the question to be marked as a duplicate for a question that verboten has nothing to do with the question I asked. Specifically I was working with canvas and svg and the question linked was neither thing. The other question is also 5 years newer so even if it were the same it would be a duplicate of mine, not the other way around.

Another one is a very high rated answer I gave was edited by a big contributor to add a participle several years after I wrote it and then marked as belonging to them now

Both times i issued a dispute only for it to be completely ignored. Eventually I used a scrubber bot to delete every contribution I ever made instead of letting random power mods just steal content on my high profile posts.
Can you give more context on the second one? Everyone can edit posts and it shows both the original poster as well as the most recent editor on the post. (I’m not defending SE. I dislike them too.)

Not the original commenter, but once I asked a small question when I was starting to reach myself Java (something about calendar not returning what o expected and me not understanding the documentation, but I can’t quite recall the details).
I got 9 upvotes and a few helpful answers, but the only thing i can clearly remember is one answer that said unless I had a severe learning disability I should understand the documentation and not ask (r-word) questions.

I didn’t understand it because of a language barrier since I also had to teach English to myself at the same time. But that comment really hurt me for some reason. It was just unnecessary rude.

That answer eventually got removed but the first time I flagged it I got the response that the mod could not see anything wrong with the answer.

Before that I really enjoyed the site, answering js and PHP questions, helping out a bit with formatting on other people’s questions or answers etc but ever since then I go there rarely and only if I am looking for something already answered.

All questions have been asked and all answers have been given
and copilot and chatgpt give good enough answers without being unfriendly
Exactly this. SO is now just a repository of answers that ChatGPT and it’s ilk can train against. A high percentage is questions that SO users need answers to are already asked and answered. New and novel problems arise so infrequently thanks to the way modern tech companies are structured that an AI that can read and train on the existing answers and update itself periodically is all most people need anymore… (I realize that was rambling, I hope it made sense)
So soon they will start responding with “this has been asked before, let’s change the subject”
Exactly! It will all come full circle
A repository of often (or at least not seldom) outdated answers.

yes! this! is chatgpt intelligent: no! does it more often than not give good enough answers to daily but somewhat obscure ans specific programming questions: yes! is a person on SO intelligent: maybe. do they give good enough answers to daily but somewhat obscure ans specific programming questions: mostly

Its not great for complex stuff, but for quick questions if you are stuck. the answers are given quicker, without snark and usually work

ChatGPT has no knowledge of the answers it gives. It is simply a text completion algorithm. It is fundamentally the same as the thing above your phone keyboard that suggests words as you type, just with much more training data.
Who cares? It still gives me the answers i am looking for.
Yeah it gives you the answers you ask it to give you. It doesn’t matter if they are true or not, only if they look like the thing you’re looking for.
An incorrect answer can still be valuable. It can give some hint of where to look next.
@magic_lobster_party I can't believe someone wrote that. Incorrect answers do more harm than being useful. If the person asks and don't know, how should he or she know it's incorrect and look for a hint?

Google the provided solution for additional sources. Often when I search for solutions to problems I don’t get the right answer directly. Often the provided solution may not even work for me.

But I might find other clues of the problem which can aid me in further research. In the end I finally have all the clues I need to find the answer to my question.

How do you Google anything when all the results are AI generated crap for generating ad revenue?
Well then I guess I have to survive with ChatGPT if the internet is so riddled with search engine optimized garbage. We’re thankfully not there yet, at least not with computer tech questions.
Well if they refer to coding solution they’re right : sometimes non-working code can lead to a working solution. if you know what you’re doing ofc
Even if you don't know what you're doing ChatGPT can still do well if you tell it what went wrong with the suggestion it gave you. It can debug its code or realize that it made wrong assumptions about what you were asking from further context.
I don’t know about others’ experiences, but I’ve been completely stuck on problems I only figured out how to solve with chatGPT. It’s very forgiving when I don’t know the name of something I’m trying to do or don’t know how to phrase it well, so even if the actual answer is wrong it gives me somewhere to start and clues me in to the terminology to use.
In my experience, with both coding and natural sciences, a slightly incorrect answer that you attempt to apply, realize is wrong in some way during initial testing/analysis, then you tweak until it's correct, is very useful, especially compared to not receiving any answer or being ridiculed by internet randos.
What point are you trying to make? LLMs are incredibly useful tools
Yeah for generating prose, not for solving technical problems.
You’ve never actually used them properly then.

not for solving technical problems One example is writing complex regex. A simple well written prompt can get you 90% the way there. It’s a huge time saver.

for generating prose It’s great a writing boilerplate code so I can spend more of my time architecturing solutions instead of typing.

How is that practically different from a user perspective than answers on SO? Either way, I still have to try the suggested solutions to see if they work in my particular situation.
At least with those, you can be reasonably confident that a single person at some point believed in their answer as a coherent solution
That doesn't exactly inspire confidence.
Better than knowing there’s some possibility that the answer was generated purely because the sequence of characters had the highest probability of convincing the reader that it seems correct based on the sequence of characters it was given as input (+/- a decent amount of RNG)
Still debatable, IMO. Human belief is stubborn and self-justifying whereas an RNG can be rerolled as many times as needed.

Yeah but if you keep rerolling the RNG, how do you know when a right answer gets randomly generated?

Also, my point above was that if a human believed the solution was true, it probably was true at some point. With generative language models, there’s no guarantee that there’s any logic to what it tells you.

You know when the code compiles and does what you want it to do. What's the point in asking for code if you're not going to run it? You'd be doing that with anything you got off of Stack Overflow too, presumably.
the good thing if it gives you the answer in a programming language is that its quite simple tontestvif the output is what you expect, also a lot of humans hive wrong answers…

There was a story once that said if you put an infinite number of monkeys in front of an infinite number of typewriters, they would eventually produce the works of William Shakespeare.

So far, the Internet has not shown that to be true. Example: Twitter.

Now we have an artificial monkey remixing all of that, at our request, and we’re trying to find something resembling Hamlet’s Soliloquy in what it tells us. What it gives you is meaningless unless you interpret it in a way that works for you – how do you know the answer is correct if you don’t test it? In other words, you have to ensure the answers it gives are what you are looking for.

In that scenario, it’s just a big expensive rubber duck you are using to debug your work.

There's a bunch of people telling you "ChatGPT is useful to me when I need help with coding problems." And you're responding "No it isn't."

Your analogy is eloquent and easy to grasp and also wrong.

Fair point, and thank you. Let me clarify a bit.

It wasn’t my intention to say ChatGPT isn’t helpful. I’ve heard stories of people using it to great effect, but I’ve also heard stories of people who had it return the same non-solutions they had already found and dismissed. Just like any tool, actually…

I was just pointing out that it is functionally similar to scanning SO, tech docs, Slashdot, Reddit, and other sources looking for an answer to our question. ChatGPT doesn’t have a magical source of knowledge that we collectively also do not have – it just has speed and a lot processing power. We all still have to verify the answers it gives, just like we would anything from SO.

My last sentence was rushed, not 100% accurate, and shows some of my prejudices about ChatGPT. I think ChatGPT works best when it is treated like a rubber duck – give it your problem, ask it for input, but then use that as a prompt to spur your own learning and further discovery. Don’t use it to replace your own thinking and learning.

Even if ChatGPT is giving exactly the same quality of answer as you can get out of Stack Overflow, it gives it to you much more quickly and pieces together multiple answers into a script you can copy and work with immediately. And it's polite when doing so, and will amend and refine its answers immediately for you if you engage it in some back-and-forth dialogue. That makes it better than Stack Overflow and not functionally similar.

I've done plenty of rubber duck programming before, and it's nothing like working with ChatGPT. The rubber duck never writes code for me. It never gives me new information that I didn't already know. Even though sometimes the information ChatGPT gives me is wrong, that's still far better than just mutely staring back at me like a rubber duck does. A rubber duck teaches me nothing.

"Verifying" the answer given by ChatGPT can be as simple as just going ahead and running it. I can't think of anything simpler than that, you're going to have to run the code eventually anyway. Even if I was the world's greatest expert on something, if I wrote some code to do a thing I would then run it to see if it worked rather than just pushing it to master and expecting everything to be fine.

This doesn't "replace your own thinking and learning" any more than copying and pasting a bit of code out of Stack Overflow does. Indeed, it's much easier to learn from ChatGPT because you can ask it "what does that line with the angle brackets do?" or "Could you add some comments to the loop explaining all the steps" or whatever and it'll immediately comply.

@focus Is that the reason why we get more and more AI written articles?
No, thats because of capitalism

I honestly believe people are way overvaluing the responses ChatGPT gives.

For a lot of boilerplating scenarios or trying to resolve some pretty standard stuff, it’s good.

I had an issue a while back with QueryDSL running towards an MSSQL instance, which I tried resolving by asking ChatGPT some pretty straightforward questions regarding the tool. Without going too much into detail, I basically got stuck in a loop where ChatGPT kept suggesting solutions that were not viable at all in QueryDSL. I pointed it out, trying to point out why what it did was wrong and it tried correcting itself suggesting the same broken solutions.

The AI is great until whatever it has been taught previously doesn’t cover your situation. My solution was a bit of digging in google away, which helpfully made me resolve the issue. But had I been stuck with only ChatGPT I’d still be going around in loops.

It really doesn’t work as a replacement for google/docs/forums. It’s another tool in your belt, though, once you get a good feel for its limitations and use cases; I think of it more like upgraded rubber duck debugging. Bad for getting specific information and fixes, but great for getting new perspectives and/or directions to research further.

I agree! It has been a great help in those cases.

I just don’t believe that it can fullfill the actual need for sites like StackOverflow. It probably never will be able to either, unless we manage to make it learn new stuff without reliable sources like SO, while also allowing it to snap up these obscure answers to problems without burying it in tons of broken solutions.

ChatGPT is great for simple questions that have been asked and answered a million times previously. I don’t see any downside to these types of questions not being posted to SO…
Are they all linked in a “duplicate of” circle yet?
SO is such a miserable and toxic place that oftentimes I’d rather read more documentation or reach out to someone elsewhere like Discord. And I would never post a question there or comment there.

I’d rather read the docs than just about anything. I love good documentation. I wanna know how and why things work.

The problem is than basically nobody has good docs. They are almost all either incomplete or unreadable.

While I agree, writing good docs is hard for a very intangible benefit. Honestly, it feels like doing the same work twice, with the prospect of doing it again and again in the future as the software is updated. It’s a little demoralizing.

It is hard, I agree. I’m not very good at it myself. But even semi-decent docs are better than googling around or stepping through a decompiled package.

And it’s super useful to new developers, and would have saved me a lot of time and frustration when I was new.

A lot of companies won't employ technical writers, who exist to make good, thorough, complete documentation... they rather assume their engineers can just write the docs.

And no, no they can't... very few engineers study the principles of effective communication. They may understand things, but they can't explain them.

That’s fair. At my company we have technical writers for the external docs and internal docs are usually written by whoever has worked on something and got frustrated that nobody in the company could give them a high level overview, and they had to go through the code for a couple hours.

Tbf though, I’ll take docs that aren’t written super well that tell me how things from our internal libraries should be used. Or just comments. I’ll take comments telling me WHY we are doing something.

I don’t expect our internal docs to be MSDN docs. But I like to read an overview of at least the workflow before I jump into updating a large project.

Understandably, it has become an increasingly hostile or apatic environment over the years. If one checks questions from 10 years ago or so, one generally see people eager to help one another.

Now they often expect you to have searched through possibly thousands of questions before you ask one, and immediately accuse you if you missed some – which is unfair, because a non-expert can often miss the connection between two questions phrased slightly differently.

On top of that, some of those questions and their answers are years old, so one wonders if their answers still apply. Often they don’t. But again it feels like you’re expected to know whether they still apply, as if you were an expert.

Of course it isn’t all like that, there are still kind and helpful people there. It’s just a statistical trend.

The worst is when you actually read all that questions and clearly stated how they don’t apply and that you already tried them and a mod is still closing your question as a duplicate.
I can't wait to read gems like "Answered 12/21/2005 you moron. Learn to search the website. No, I wont link it for you, this is not a Q&A website".
Answers from 2005 that may not be remotely relevant anymore, especially if a language has seen major updates in the TWENTY YEARS since!
More important for frameworks than languages, IMO. Frameworks change drastically in the span of 5-10 years.