Live data from Hacker News

PEP 594 – Removing dead batteries from the standard library

peps.python.org

11–20 of 95 posts

Re: PEP 594 – Removing dead batteries from the standard library

#11
I find the reasoning to be ... flawed.

"Any additional module increases the maintenance cost for the Python core development team. The team has limited resources, reduced maintenance cost frees development time for other improvements." This really doesn't jibe with the "Hey guys we have tools to convert 2 to 3 so easily" and "we aren't breaking stuff." A good working library will continue to be a good working library until you break it.

"Modules in the standard library are generally favored and seen as the de facto solution for a problem. A majority of users only pick third-party modules to replace a stdlib module, when they have a compelling reason, e.g. lxml instead of xml. The removal of an unmaintained stdlib module increases the chances of a community-contributed module to become widely used."

First, part of the appeal of Python is that de facto standard. Recall all of the XKCD comics about it. I don't have to make choices about which of seventeen different Perl libraries I can maybe find that exist on CPAN and try to decide between them. This is one of the reasons why I fled Perl.

Second, why do we want a community-contributed module to be widely used? That's stated as a goal but without explanation. If there is a widely used community-contributed module that is better, put it in the standard library.

I could almost like "A lean and mean standard library benefits platforms with limited resources like devices with just a few hundred kilobyte of storage ..." except that there ought to be a mechanism for cutting parts out of the standard library anyway if they aren't being used by your particular space-starved platform. This doesn't actually solve the problem being posed. It isn't the sunau module that is making or breaking the memory budget -- find a way to dis-include unused stdlib modules for projects.

Listen to this: "The crypt module has fundamental flaws that are better solved outside the standard library." So either fix them or move whatever is being used into the standard library.

Now, we can quibble about individual modules (I am rather fond of cgi, it's just so damned handy if you want to make something small without hauling in entire frameworks), but that misses the point -- the standard library exists to free us from the burden of sifting through N implementations of whatever it is we want to solve, where the complete coverage of the issue varies from "the happy path" to "eighty percent of the problem but sadly you need to do work in the twenty percent not covered."

Re: PEP 594 – Removing dead batteries from the standard library

#13
post #9
post #6

Earlier quoted context omitted.

It is just unnecessary breakage for minuscule reward

>miniscule reward how so? I see lower maintenance burden and vulnerability surface area as big rewards

Internet is full of entitled narcissistic people. They can't imagine there're other important things in the world beside themselves and their needs.

Re: PEP 594 – Removing dead batteries from the standard library

#14
I don't understand the motivation to remove MSI support. The document says:

> Microsoft is slowly moving away from MSI in favor of Windows 10 Apps (AppX) as a new deployment model

First, MSI has better OS support than AppX, second, many users are still using Windows 7 and won't be able to use AppX. MSI is not some 30-years old deprecated standard.

Re: PEP 594 – Removing dead batteries from the standard library

#15

I don't understand the motivation to remove MSI support. The document says: > Microsoft is slowly moving away from MSI in favor of Windows 10 Apps (AppX) as a new deployment model First, MSI has better OS support than AppX, second, many users are still using Windows 7 and won't be able to use AppX. MSI is not some 30-years old deprecated standard.

This PEP doesn't really stop functionality for nearly 3 years and even then it's only with the newest Python version so people can stay on the older version for another 2-3 years of further transition fully supported by the Python community.

In 5 years, Windows 10 will be the bare minimum for a secure OS from MS.

Re: PEP 594 – Removing dead batteries from the standard library

#16
There are some things on the list that I totally get. We probably don't need support for .aif files in Python's stdlib, or support for the Sun directory service.

But I hate to see these get removed:

    - cgi
    - pipes
    - uu
    - telnetlib
A lot of people still use CGI. Yes, it's slow / low-performance / etc. It's also a perfectly fine way to make a knockabout internal service.

Pipes is a small pure-Python module, with nothing tricky about it. Why delete it? It's good at what it does. Subprocess equivalents are a lot more effort to write, even if you can eventually get to the same result.

Uu is old, yes. But it's not broken either. Folks do still uuencode things from time to time. Why delete it?

Telnetlib is personally useful to me, since telnet is one of the easiest ways to interact with a qemu VM's console. I hate that the answer is "Use something on Pypi instead", because that increases my dependency surface and adds no value for me. Why delete working, stable code?

Re: PEP 594 – Removing dead batteries from the standard library

#18

I don't understand the motivation to remove MSI support. The document says: > Microsoft is slowly moving away from MSI in favor of Windows 10 Apps (AppX) as a new deployment model First, MSI has better OS support than AppX, second, many users are still using Windows 7 and won't be able to use AppX. MSI is not some 30-years old deprecated standard.

Why can't legacy MSI support be a standalone library? It looks like no one is maintaining it right now anyways so that should be some red flags right there.

Re: PEP 594 – Removing dead batteries from the standard library

#19
> For example, least controversial are 30-year-old multimedia formats like the sunau audio format, which was used on SPARC and NeXT workstations in the late 1980s

Why would something like that add maintenance burden to the Python devs? I'd expect such code to be very, very stable.

Post reply on HN