I'd give up Perl tomorrow if only...

Frank Tobin ftobin at neverending.org
Sun Jun 30 16:02:12 EDT 2002


Christopher A. Craig, on 2002-06-21, wrote:

> Given the hardware and bandwidth, it shouldn't be all that hard to
> create a CPAN for Python.  I suspect one of the main reasons it hasn't
> been done is that Google works so well.

I don't think you have a good grasp of what CPAN really is.  It's much 
more than simply a big FTP site.

The key thing about CPAN is not only the breadth of modules it has, but 
the strong testing system they employ, namely cpan-testers.  I am the 
author of a module on CPAN, and it's great to be able to upload module, 
and have it tested on a diverse set of architecures.

http://testers.cpan.org/

Note that in order to have something be as successful as cpan-testers,
modules needs to have:

1) a standard extraction mechanism (Perl and Python do have)
2) a standard testing mechanism (Perl has ('make test'), Python doesn't)
3) a standard installation mechanism (Perl and Python do have)
4) a standard README system (Perl has, Python doesn't)

What is most missing for Python is a standard testing suite system.  And
until it gets this, it's pretty much not possible to get anything close to
the quality of CPAN with cpan-testers.

Another great benefit of CPAN is that the modules on it are somewhat
'sanctioned'.  Sure, it doesn't take much to get onto CPAN, but the
difference between the 'something' it does take, and 'nothing', is
enormous in speaking for the quality of the modules you'll find in
contrast to searching Google and coming across Joe Schmoe's Python module.
A similar scenario is comparing random RPM's you might find on Google to
FreeBSD/Gentoo's ports trees; the centralization somewhat sanctions the
software, and this is critical, IMO.

Furthermore, I find the de-facto multi-tier naming system that Perl
employs for modules to be a good thing; it encourages users dividing up
their modules in the global namespace.  This is critical for finding what
you need.  For example, I can go into the DBD branch on CPAN and find
every database driver it has.  Python doesn't have an equivalent (packages
just aren't the same thing; they are owned by 'one' thing, most of the
time).

-- 
Frank Tobin			http://www.neverending.org/~ftobin/




More information about the Python-list mailing list