If there is one thing I wish I could take from Perl and give to the current hot languages, it's the importance of not breaking shit when you release new versions of stuff. If someone's code worked yesterday with your library, it should also work today after you add a new feature.

Yet, apparently, this is not the way we do code. We expect every developer to be so devoted to a random library that they keep track of all the breaking changes and are excited about them.

Please stop that.

@joelle I'm a fan of Go for (among others) this reason. I have code written before Go 1.0 came out, and it still compiles and runs fine. It's just faster as the compiler got better, and looks a bit antiquated maybe... But it works the same as the day I wrote it.

I've anecdotally heard companies who work in industries with very long support horizons (think multiple decades) who have nice things to say about it for the same reason. Knowing there's a high probability you can still compile and service the code for a product shipped 15 years ago is a rare thing these days.