People don’t understand planned obsolescence. https://bsd.network/@sjmulder/111807278606787147
@webology I don’t really think the phenomenon described there s planned obsolescence, it’s more like a hydraulic principle. Hardware gets better and suddenly there’s a lot more room to trade off performance for developer time / functionality, etc.
@webology The popularity of Python is in some sense a side-effect of this, since in a lot of cases it is a lot slower than compiled languages, but companies adopt it anyway because compute is less expensive than developer time.
@pganssle They feel like totally different things to me but I think both are true.
Python is slower than compiled language code.
Python 3.11 and 3.12 runs faster on my 10-year-old machines than Python 3.7 did or does.
When I upgrade to a new Linux or FreeBSD distro, my hardware doesn't run slower.
@pganssle I think iPhones are pretty wild in this category. The fasted machine on the planet today runs laughably slow after 3 or 4 years/OS upgrades. Many of which you are eventually forced into upgrading.
I honestly don't believe graphics and features like dark mode are taxing my two-year-old machine like everyone lets on.
I do believe that there is no financial incentive for Apple to spend engineering dollars on improving though.
@webology I think I missed the context that the inciting event was a video about upgrading your laptop. The examples seem to all be other sources of decay like websites shipping several megabytes of JS and assets to display simple text.
That said, my baseline assumption is that even in the laptop upgrade case I suspect that deliberate policies of making old stuff worse are rare. It feels like the facts that developer time is very expensive, it takes time to make things fast and to even test against old platforms and switching costs are high is enough to explain what’s happening.
@webology I will also note that Python 3.11 and 3.12 are getting faster, but the Python 3.x branch was notably slower than Python 2.7. I think at this point Python itself has good incentives to increase efficiency because industrial players like Microsoft, Bloomberg, etc, are heavily invested in it already and they can see meaningful reductions in their resource consumption by making improvements.
That said, part of the thing that has been a major sticking point for things like GIL removal is that there is some trade-off between single-threaded performance and multi-threaded performance. I could imagine a future regression (probably small, admittedly) in “older” workflows in favor of big improvements for newer multi-core performance.
@webology One last thing on this is that as someone whose allocated OSS maintenance time has gone down a lot lately, I’ve become acutely aware of how aggressive the bitrot is in the Python ecosystem. CPython itself has a 5-year window after which old versions are EOL. There are deprecations and removals in every version. Pretty much every time I go to touch
dateutil
I spend the whole time fixing up the various parts of the CI that are now raising warnings or errors, then I run out of time to do any meaningful work, and the cycle repeats after a few months.I think this is a similar set of incentives. People who value stability just literally stop upgrading everything and self-host. Maintainers have limited attention and don’t want to allocate it to long-term support. As a result, you need to constantly be moving with the ecosystem.