virgo_eye
Drivers in city traffic can't go fast, but they like to accelerate quickly. This means a big engine, which means a big car, which means more weight so the engine has to be even bigger to keep the car accelerating 0-30 quickly.
For EVs, the relationship between battery weight and acceleration isn't the same. A new tradeoff is now between batteries which store power for a lot of driving, versus batteries which release a lot of power quickly, to accelerate sharply. There's no reason there shouldn't be a new sweet spot of very light weird-looking cars which are only driven around cities, need to be charged a lot (but who cares if not making long journeys) but have good 'driving performance'.
If you calculate 1000 digits of pi, those digits will not embody any energy.
The real reason is the incentives. Not just are there no incentives to produce good quality code, there are incentives which make people focus on other outputs. Publish or perish means that people put up with technical debt just to get to the next result for the next paper, then do it again and again.
1. 'only use good libraries' 2. 'it's not your job as a developer to make sure your application can be installed' 3. 'if your users want to use pip... they should be able to fix those issues'
However, this isn't a solution to the problem that led to the existence of language ecosystems. It is a refusal to acknowledge the problem.
I used to try to religiously follow the recommendation only to install Python packages which had been repackaged by Debian. Fine, but it meant that you couldn't use any even slightly obscure package, nor one that was younger than some timelag, which ranged from a few months to a couple of years.
Inevitably, you want to pip install something. Then the repercussions of mixing Debian packages and pip packages are a whole new set of problems. And you can't get anyone to look at your problem, even if it's a common issue which the Debian packager could fix or workaround, because 'pip is not supported, you should install this via `apt install python-foo`'.
The best solution is and was to only use pip packages, along with some form of isolation from the wider system, whether virtual environments, containers or what. Python now has extremely good native tools to work this way, and so do most modern languages. I only work like this now, and so, it appears, do all the maintainers of my dependencies and my transitive dependencies. Development cycles are much faster, and it all just works.