Monday, September 14, 2009

How they do it in Python (core libraries).

I don't read much from the Python blogosphere - so maybe it is not representative at all - but it seems that Python 'batteries included' approach to core libraries is also approaching its limits. I am sure that debate will happen in any popular Open Source language after reaching some maturity level. It is interesting what kind of compromise is proposed by the author of that piece:

I would first prune the standard library down to a more core focus of libraries that require cross-platform expertise, using widely accepted standards, and stuff needed to simply get a script to run. In terms of cross-platform stuff, that would mean os, multiprocess, etc. These are modules that a typical developer would have a hell of a time getting working on all the OSs that CPython runs on.

2 comments:

phil jones said...

I don't think it's reaching any kind of real limit.

I'm convinced that "Batteries Included" is one of the great virtues of Python and one reason for its success. It's just so wonderful that you type stuff in and it just works without having to download and install. Particularly for beginners who don't necessarily understand how installation works.

Even though the cheeseshop is great, there are still times you aren't online or have other problems. And you still need to know how to use it.

OTOH, disc space is really cheap. What does it matter if there are deprecated libraries? The worry that they need maintainance is overblown. Many are written in pure Python anyway and will just continue to work. Others you can let die a natural death, rather than prematurely killing.

zby said...

Thanks Phill for correcting me. I think I should have written that a lot more carefully - as I really don't have much experience in that subject - I just read that one piece linked from proggit.

In Perl there seems to be a problem with maintenance - too few people too much work. There are voices that the way forward is do some deprecations and clean the code a bit.