Hacker News new | past | comments | ask | show | jobs | submit login

> The first application I wrote for Firebase was back in 2015, before it was acquired. I don't remember the specific issues, but I know I spent about the same amount of time trying to keep it running post-acquisition as I did building the app in the first place.

Nit: Firebase was acquired in Oct 2014. New functionality was launched in early 2016, and the major change that would have affected you at that point was the auth system, but that should have been a one time change with low ongoing maintenance.

> I should point out that averaging a single breaking change every five years means that an application has a 20% chance of being affected each year. I'm not willing to roll the dice, generally speaking.

What technologies are you using on a routine basis that fall into a category you consider acceptable?




> What technologies are you using on a routine basis that fall into a category you consider acceptable?

Can't speak for them, but some LTS GNU/Linux distros have a decent track record, for example, I've had fairly few issues with Debian, Ubuntu or even CentOS back in the day. The worse I've had was CentOS xrdp package breaking for no good reason, or unattended upgrades in Debian breaking GRUB in my homelab once, here's a rant about it: https://blog.kronis.dev/everything%20is%20broken/debian-and-...

Some languages out there have a pretty long and boring releases cadence, for example, in the case of Java, JDK 8 has been around for almost 10 years, JDK 11 and JDK 17 will be around for about 5 years each. Migrating between versions can be pretty painful, but within the bounds of a version, generally there are fairly few bugs and issues to be found. Even the feature updates, like new GC implementations, are largely optional and you don't get the rug pulled out from under your feet.

Some databases out there also have been supported for long, for example, MySQL 5.7 and MySQL 8 won't quite make it to 10 years of being supported, but will get pretty close. They remain compatible with the drivers out there in the wild pretty well and even though there can be things like performance regressions, I can't recall that many problems that necessitated changes due to any breakages, more like non-critical slowdowns and such until you get a patch.

I think that there are a few software packages like that in any domain, whether you're talking about operating systems and kernels, programming languages or databases. That said, things can get murky depending on how you use them: something like Apache httpd or Apache Tomcat can be regarded as relatively stable, but that stability gets worse, the more modules/plugins you install. Same with operating systems and running a huge amount of different software on them.

Focusing on stable software isn't something that we as an industry do that much, admittedly, everyone just wants greater velocity and more features to meet whatever business goals are relevant, which doesn't fare too well for the folks who care about stability and keeping things running long term.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: