It's time to stop using Python 3.8
5 points by itamarst 9 months ago | 5 comments- zahlman 9 months ago> If you’re still on Python 3.8 in 2024, that is a symptom you are suffering from an organizational problem, and it’s likely you have other important upgrades that you’ve been putting off. So your next step should be setting up an ongoing process to update your dependencies regularly.
It's painful to read this. I agree, but Python devs hate churn to an extent that seems to have traumatized core devs and major project maintainers and make them act like their hands are tied by backwards compatibility concerns. This is, after all, the same language where Python 3.0 was announced April 2006 and released December 2008, and we didn't see the last 2.x release until April 2020 (and this is after it had been publicized for years that there would be no more releases after Jan 1 2020, which was in turn giving the 2.7 branch an extended lifetime). And even then, you can find people in 2024 pining for the old version and complaining about supposed design mistakes like "maybe it's bad to treat byte-sequences like strings implicitly without declaring a text encoding, in the language that asserts that explicit is better than implicit, leading to users having to check Stack Overflow to understand why they got a UnicodeDecodeError from trying to encode or vice-versa", or "maybe we shouldn't teach brand new programmers, on the first day, to put an unintentional arbitrary code execution exploit into their programs and not tell them about it". Even granting that 3.x has broad acceptance now, one of the better known Python book authors from the old days (Mark Lutz) has a webpage dedicated to the argument that basically every major feature added after 3.4 is a step backwards.
- mac3n 9 months agoso what's been added since that i would want?
- zahlman 9 months agoIt's hard to say what you would want specifically; everything gets added to the language because someone wants it, and I can't read your mind. The main new features for each release are promoted on the release pages for the x.y.0 versions:
https://www.python.org/downloads/release/python-390/
https://www.python.org/downloads/release/python-3100/
https://www.python.org/downloads/release/python-3110/
https://www.python.org/downloads/release/python-3120/
And documented in more detail on the "What's New in Python" documentation page (a table of contents for version-specific pages; but I think at one point in history the info about every version was just in-line in a single document):
- odie5533 9 months agoYou can use list instead of List for typing since 3.9. I use that daily. Also the pipe | operator instead of Union/Optional. Nicer dict unions/updates.
https://docs.python.org/3/whatsnew/3.9.htmlhttps://docs.python.org/3/whatsnew/3.10.htmlhttps://docs.python.org/3/whatsnew/3.11.htmlhttps://docs.python.org/3/whatsnew/3.12.html
- itamarst 9 months agoIt's much faster! There's been significant performance improvements since 3.8.
- zahlman 9 months ago
- 9 months ago