What drastic changes have you noticed, <@U06CL8ZBM...
# general
j
What drastic changes have you noticed, @David Germiquet? I've found things pretty stable since the 2.x to 3.x debacle.
d
I think the 3.9 to 3.12 looks to be drastic as well with some libraries changing
Just glancing at it but it looks to be troublesome
j
Main thing I see is distutils finally going away, but that's been on the way out for ages, even before formal deprecation.
d
It makes me concern to start new projects. And then there are libraries like flask or flask ask that I’ve used that are heavily dependent on other specific versions of libraries and upgrading. The one i noticed was the collections library
Example this one: Python 3.10 Support: Use
collections.abc
instead of
collections
for collection abstract base class usages from 3.9 to 3.10
j
The Python folks try pretty hard to give people lots of warning about things that are going away so they have time to make changes. How well various projects manage those changes is a bit outside their control, and the well-maintained ones seem to make the changes in a timely fashion. I've mostly only hit issues when some tools become abandonware.
d
Are there languages out the that don’t do this though that i can use? Other than c or c++. If you want to build upon long term projects
j
I guess it depends on what your upgrade cadence is. collections.abc came out in v3.3 which was released in September 2012, the aliases to collections were flagged as deprecated then, and the removal was finally merged in 2019 for v3.10. If a decade isn't enough notice, you could pin to a specific version such as in an LTS distro, but most languages update things and fix earlier mistakes, patch security holes, etc. Are you after zero breaking changes ever? Never doing any maintenance or patching? What do you consider as 'long term'?
Sorry, I feel like I've missed something important because this is puzzling.
d
Oh i wasnt aware they started the depreciation in 2012. I guess I’m using dependent libraries that arent either being updated.
j
Oh right! Yeah, I hit the same thing sometimes. It's really frustrating when a library is under-maintained.
d
I’ll have to be careful with the libraries i pick more.
j
Careful evaluation of which libraries you depend on can help, but it's no guarantee. Maintainers burn out and there's not nearly enough funding of the work by profitable companies that use this stuff for free.
The joy of free/open source software: when it breaks you get to keep both pieces.
e
A language that does alot and has a focus of being boring linguistically is GoLang I think
t
I feel this pain. I had to learn/write python code due to abandonware. A CLI interface to a python package stopped working after python 3 (although the library was at least partially functional from actual python code)