Re: [Nolug] Genome Sequencing uses: Perl

From: Mark A. Hershberger <mah_at_everybody.org>
Date: Sun, 28 Sep 2003 16:33:36 -0500
Message-ID: <87ad8o8uof.fsf@weblog.localhost>

Ron Johnson <ron.l.johnson@cox.net> writes:

>> and does it have a mechanism that I can do:
>> # perl -MCPAN -e "install Mail::Spamassassin" and
>> get that and all the dependent modules ala apt-get,
>> portage, or *bsd ports system? including upgrading perl
>> itself if need be?
>
> No. Does anyone monitor/check the packages in CPAN for quality,
> like dpkgs go through QA?

Yes, they do. cpan-testers tests submissions to CPAN and sends
any fail/pass report back to the author.

    http://testers.cpan.org/show/Mail-SpamAssassin.html

The limitation, of course, is that they run the tests bundled with
the package. So, if you care about quality (and who doesn't?) only
get modules that have good tests. And then check out out what
testers has to say about your platform.

Even if no tests are bundled with the module and the module's author
isn't easily accessible (i.e. they've hidden their email address),
there is also a bug-tracking system for CPAN:

    http://rt.cpan.org/NoAuth/Bugs.html?Dist=Mail-SpamAssassin

There are very few barriers to putting something on CPAN. If you are
a user, you can check the quality and report bugs to the author
easily. The goal is not so much to ensure that all the code is
pristine, but to make it easily available. If it's bad code, it
won't be used.

What you seem to be saying is that in order to get widespread adoption
of a useful Python module, it has to go into the core. Which seems
far less useful if the goal is widely shared code.

Really, though, this argument is something like "Worse is Better"
(WIB) vs. "The Right Thing" (TRT). (jwz's copy of the essay is at
http://www.jwz.org/doc/worse-is-better.html)

The CPAN process is similar to the WIB philosophy.
Compare the "simplicity" and "correctness" aspects of WIB with those
two aspects of TRT:

    * Simplicity- ... Simplicity is the most important consideration
      in a design.

    * Correctness-the design must be correct in all observable
      aspects. It is slightly better to be simple than correct.

Other code-sharing systems (like PHP's PEAR) seem closer to the
TRT philosophy:

    * Simplicity-the design must be simple, both in implementation and
      interface. It is more important for the interface to be simple
      than the implementation.

    * Correctness-the design must be correct in all observable
      aspects. Incorrectness is simply not allowed.

These differences influence who is allowed to contribute
code. If correctness is considered absolutely vital (as you imply)
then of course CPAN will look wrong.

And, if correctness of code isn't as important as simplicity of
access, then anything less than CPAN will look wrong.

BTW, Linux and all UNIX systems are classified as "worse is better".

Mark.

-- 
If you want to know who is funding terrorists, look in the vanity
mirror as you turn the key of your SUV.
    -- http://philip.greenspun.com/politics/israel/
___________________
Nolug mailing list
nolug@nolug.org
Received on 09/28/03

This archive was generated by hypermail 2.2.0 : 12/19/08 EST