←back to thread

228 points Retro_Dev | 6 comments | | HN request time: 0.715s | source | bottom
Show context
zwnow ◴[] No.44461773[source]
And this is exactly why you do not use shiny new languages for your projects. Hope tigerbeetle won't have too much trouble with this
replies(5): >>44461853 #>>44461858 #>>44462043 #>>44462061 #>>44462171 #
Hamuko ◴[] No.44461858[source]
Are people deploying production code in a language that is still in its 0.x version?
replies(3): >>44461880 #>>44461901 #>>44462078 #
1. cenamus ◴[] No.44461901[source]
I mean, what's the difference to the python 2/3 debacle? People were writing/extending in python 2 long after it was declared obsolete
replies(3): >>44461971 #>>44462086 #>>44466246 #
2. Hamuko ◴[] No.44461971[source]
Not having breaking changes every N months?
replies(1): >>44463222 #
3. mirashii ◴[] No.44462086[source]
It's not about sticking around on an old version, it's about ever being able to catch up, and what the rest of the ecosystem is going to do. Python did this major version bump that broke a lot of the ecosystem, and it went so poorly that they've effectively promised never to do it again and completely excised any thought of ever having a major version bump again, and other languages and communities now point to it regularly as a debacle to be avoided.

When you break things regularly, you're forcing a choice on every individual package in the ecosystem: move forward, and leave the old users behind, or stay behind, and risk that the rest of the ecosystem moves forward without you. Now you've got a whole ecosystem in a prisoner's dilemma. For an individual, maybe you can make a choice and dig in and make your way along without too much trouble. But the ecosystem as a whole can't, the ecosystem fractures, and if it doesn't converge on the latest version, it slowly withers and dies.

4. flohofwoe ◴[] No.44463222[source]
Each new minor Python 3.x version has plenty of deprecations followed by removals in the stdlib though.
replies(1): >>44464194 #
5. Hamuko ◴[] No.44464194{3}[source]
I don't think even those are particularly short periods. TestCase.assertEquals() was deprecated in Python 3.2 (February 2011) and removed in Python 3.12 (October 2023). 12 ⅔ years to get rid of a silly alias because it's a breaking change (of a single character).
6. skybrian ◴[] No.44466246[source]
Static types help to find what needs to be fixed. Something like 'go fix' would be useful for fixing them. Apparently something like that is being considered for zig.