APIs need to stay stable even as the systems behind them keep changing. Each version becomes a contract that cannot move, while data models and requirements evolve around it.
Keeping everything working without slowing development is harder than it seems, and common approaches often break down once incremental changes start to accumulate.
I'm at that stage in my career where I don't code much anymore, so I don't really share the same anxieties younger developers have about Gen AI. That might partly explain my more optimistic view.
That's not a useful metric. The questions that today show up as locked for historical significance were simply closed before the historical significance lock was introduced.
Conversely, the lock was introduced to stop those highly interesting (but ultimately useless) questions from getting deleted. If anything, it's a step in being less strict.
Lastly, I love how you say that the graphs don't include deletions, and one of them (supposedly) show deletions and undeletions. You kinda screwed up the queries there, the graphs don't make sense ;)
It was closed and re-opened a few times (full revision history: http://programmers.stackexchange.com/posts/46716/revisions).
Every time that question got shared somewhere, it started getting crap answers instantly, everyone ignored the fantastic community curated top voted answer and went ahead and added yet another one liner saying "learn css".
No one wants that question closed, but at the same time only a handful of people actively prune it every now and then. Right now it's open, but if it starts generating crap answers yet again, we might close it. And then silently re-open it when no one's looking, hoping that the next troll that visits the site won't notice.
However, keep in mind closed doesn't mean dead, we have lots of great (but closed) questions (http://programmers.stackexchange.com/search?tab=votes&q=...), if at some point a question becomes incredibly troublesome, closing it is the easy - and reversible - fix. Killing crap answers, rewording the question to be a bit more specific, etc, is a very slow process, but it happens.
From June 3, 2010 to September 29, 2010 Programmers was a Q&A site for anything and everything that didn't fit Stack Overflow.
From September 29, 2010 and onwards Programmers is a Q&A site for professional programmers who are interested in getting expert answers on conceptual questions about software development.
Why people still complain about the change in scope more than two years after it happened, is beyond me. In retrospect, it might have been a better idea to close the original site and create a new one from scratch, but that's all in the past now.
NPR, the original version of Programmers, was an experiment, and, well, it failed. Pierre and a few other equally exemplary contributors from the good old days decided to move on, and that's that.
Unfortunate, but we can't do anything about it now, especially since the site's experiencing steady growth and an overall increase in quality since the new scope was solidified. The majority of the community seems to be quite happy with the current direction of the site, no one has called me an evil nazi mod on our Meta site in months ;P
The original version of Programmers was called "Not Programming Related", and it was created as a site for anything and everything that didn't fit Stack Overflow (What's your favourite programming cartoon, etc).
What you are describing is actually the current scope, that seems to be working just fine. You're right that questions that fit within the site's scope rarely have a definitive answer, but a definitive answer is not what we are looking for, just a finite and somewhat limited set of good/great answers.
Here's a few recent example questions that probably explain what the site's about better than I could ever:
There's no incentive in closing a question, other than helping the site reach it's goals, and the primary goal for any Stack Exchange site is useful, not interesting or popular (not that they are mutually exclusive, but also not to be confused).
This specific question was turning into crap fast, with answers like "Sounds like your friend is a bit of a dick. Noone wants to work for him." (since deleted). Closing it only prevents further answers, as it was obvious they were deteriorating. Still, the closure and any closure, is reversible, people always have the choice to vote to re-open if they feel the closure wasn't justified.
And a few deleted ones. "Sounds like your friend is a bit of a dick. Noone wants to work for him." is one of them (yeap, just that), the whole thread was turning to crap. Closing is only meant to prevent further answers, and this one was deteriorating fast.
Hundreds of people engaging in a question is actually a very good hint that it's Not Constructive (just a hint though). Remember, Programmers and every other Stack Exchange site are about questions and answers, not discussions.
Heh, the good old "high-quality content" argument... Any links to the almost-always-crap content you consider high quality? Don't get me wrong, it could actually be high quality, it's just that it rarely is... Links or it didn't happen.
Penalised? You spend some imaginary points and in return you get more chances for a good answer to your question... That's a fair tradeoff, if you ask me...
The goal was simple: help humans navigate complexity. Make domain experts and developers speak the same language.
We had no idea those same boundaries would matter for something else entirely.