[Python-Dev] copy, len and the like as 'object' methods?

Skip Montanaro skip@pobox.com (Skip Montanaro)
Wed, 22 Aug 2001 15:01:30 -0500

    David> It also makes me a little jealous -- Perl manages to be a place
    David> where significant progress is made in the libraries as distinct
    David> from the core.  In Pythonia, there is too much emphasis among the
    David> elite (us =) on adding features to the core as opposed to library
    David> modules, IMO.  Related is the fact that much 'cutting-edge' work
    David> in Perl is written in Perl, while most of the cutting edge stuff
    David> in Pythonia is done in C.

I think there is a lot of emphasis in the Python community on getting the
platform "right".  That leads to long debates about the correct way to do
division, for instance.  Also, Python is more platform-independent than
Perl, so more work is necessary in the core to make and keep it that way.
In addition, check out "man perlguts".  The first statement begins

    This document attempts to describe how to use the Perl API, ...

No hedging is necessary in either the Python C API manual or the Python
Extending and Embedding manual.  In fact, in the Extending and Embedding
manual begins

    It is quite easy to add new built-in modules to Python, if you know how
    to program in C.

So the problem you describe is is clearly Guido fault.  He made Python's
internals too clean.  If he would have obfuscated the internals more, more
people would have been drawn to the libraries (or repelled by the
internals). ;-)

On the flip side, I also think there is a lot of cool stuff going on in the
library sector.  You don't hear about it as much in part because Python
doesn't have an equivalent to CPAN.  I'm not talking just about the
cataloging part (Vaults of Parnassus), but the build part (distutils) and
automatic mirroring/dependency checking/download part (for which Python has,
as yet, nothing remotely like it).  That makes the barrier to use of
libraries (and thus use by a critical mass) not in the core that much
higher.  There are how many Python Server Pages like things?  They probably
all have some very nifty features, but tend to be used by rather small
pockets of people, at least relative to the overall segment of the Python
community doing webish stuff.  I'm not entirely sure why that's the case,
but I suspect it has to do in part with the barrier to discovering,
downloading, and installing these packages.