Comment by __natty__
2 years ago
In the Node & JavaScript ecosystem, there is the web framework Express. The current major version 4.x.x branch is over 10 years old [1]. And yet it powers so many apps in the ecosystem (over 17M downloads every week [2]). It lacks some features and is not the most performant [3]. But me and coworkers I talked with, like it because it allows for quick, stable development and long-term planning without worrying about drastic API changes and lack of security patches for older versions. Even better stability is provided with Go where we can run over 10-year-old programs thanks to a mix of wide stdlib and the promise of compatibility. [4]
[1] https://www.npmjs.com/package/express?activeTab=versions
[2] https://www.npmjs.com/package/express
This gave me a pleasant shock. I'd forgotten that Express has been around for 13 years now. It was considered a super shoddy, pretend-programmer piece of junk by many when it first arrived (largely by virtue of being written in JavaScript). Since then I've helped a lot of companies build cool stuff that made real money with it. It's probably serving a crazy number of requests these days.
I write a lot of things with Go now instead, but I'm still totally content to build things with Express. It's good software, generally speaking.
Express v5 is allegedly coming out in the near future (https://github.com/expressjs/express/issues/4920)
I find the Express 5 situation hilariously wonderful.
It’s basically done. Any other project would’ve slapped a major release on it and fixed any issues that came up in a patch. Everyone who is using it says it works great.
But the maintainer won’t release it because they don’t feel it’s gotten enough testing. So they’re just waiting. And no one really cares because Express 4 is great and works fine.
It’s a beautiful example of mature software development.
And that's been in production for over 8 years https://github.com/expressjs/express/issues/2755
cakePHP also does this, and this is one of the reasons why I dislike RoR. I don't actually dislike it but I would never choose it because of the ratwheel of constant version upgrades.