Subject: Re: UUCP removal from OpenBSD
To: None <current-users@netbsd.org>
From: Charles Shannon Hendrix <shannon@widomaker.com>
List: current-users
Date: 10/03/2001 11:42:59
On Tuesday 02 October 2001 07:32 am, Herb Peyerl wrote:

> So, I'm not a Perl fan or anything but recognize that whenever I build a
> new machine, I need to install Perl because sooner or later, I'm going to
> find some script or application depends on it.
>
> However, just installing 'Perl' never seems to be the answer.  It seems
> like you have to use CPAN to go off and fetch about 500 seperate little
> dependancies for each script you want to run.

To be fair, this is not a fault of Perl.  Code reuse is a major design goal 
with the Perl 5 series.  The idea is that you can use Perl to support a 
new idea of yours with a few lines of code because most of it is already 
written.  The disadvantage is the dependencies and code bloat.

This kind of code use, regardless of language, always results in bloat due
to massive dependencies.

Technically, C is no different.  However, C programmers generally tend to be 
more sensitive about dependeny issues because it's more difficult.  But you 
just have to look at the huge dependencies in something like Gnome to see
that C can lead you to the same place.

I think we just have to make up our minds about Perl: it's a language that 
has a feature--large scale code re-use--that has certain negatives that need 
to be carefully considered.

I personally prefer a UNIX system to continue to use more traditional 
languages.  Maybe if you want to "update" it, we should encourage 
better C, awk, and shell libraries for what Perl is good at.

I've been doing Perl for years, and from experience I can tell you that 
bringing it into a system is opening Pandora's Box.  It's just very, very 
hard to keep developers confined to writing simple and self-contained scripts 
with it.  The temptation to use the libraries in CPAN are great.  Less so for
the development of NetBSD, but I'm sure it will still happen over time.

It's a major commitment, and from the start you may as well go ahead and plan 
for handling the complexity and other problems, or just don't use it at all.  
Maybe NetBSD could sit back for a year and watch what happens with FreeBSD to
learn a few things.

> That a scripting language needs a built-in mechanism to go out to the
> world to retrieve the things it needs to operate, is a clear indication
> to me of it's inadequacy of design.

No, CPAN is just a convienience.  It's thorns have nothing to do with the 
design of the language.  Ruby, C, C++, *ALL* languages if they are used
this way will have a huge dependency graph.

Perl has faults, but this isn't one of them.