Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jul 2002 04:40:24 +0100 (BST)
From:      Mark Valentine <mark@thuvia.demon.co.uk>
To:        drosih@rpi.edu (Garance A Drosihn), jos@catnook.com, freebsd-arch@freebsd.org
Subject:   Re: scripting language in base system?
Message-ID:  <200207160340.g6G3eOw1024171@dotar.thuvia.org>
In-Reply-To: <mailpost.1026784698.21472@thuvia.demon.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
> From: drosih@rpi.edu (Garance A Drosihn)
> Date: Tue 16 Jul, 2002
> Subject: Re: scripting language in base system?

> It seems to me that this topic has nothing to do with "the
> package system".  It also seems to me that this topic is a
> bikeshed of immense proportions, and we shouldn't bury the
> very useful discussion on package-system issues with this
> bikeshed.

Every thread is part of a tapestry...

> For what it's worth, I'd like to see ruby in the standard freebsd
> system.  However, I can easily get into arguments with myself
> (never mind anyone else) when trying to pin down my reasoning
> for this.

That's OK, I often get into the same situation, but since I read
Philip K. Dick's "Clans of the Alphane Moon" it's become so much
clearer.  ;-)

> I keep trying to write this message, listing my thoughts on
> scripting languages.  While I can come up with a list of ideas
> that I completely agree with, the problem is that the items
> in that list conflict with each other, and thus I can't even
> come to a firm conclusion that *I* like.

There are too many ideas to implement, never mind fit in a single
language.  You should see the folder of notes I have on _my_ scripting
language design which started before I was even inspired/repulsed by
Perl...  (But there's a use for even the prototype which I did real
commercial work with way back then, after having been inspired by a
colleague's attempts to avoid having to write all our test suites in
C!)

> And in the process of
> trying, I'd probably manage to irritate everyone who has any
> opinion on this matter.

Well, I have way too many opinions for my own good, but there's
still room for more.  Don't give up trying.  :-)

> I do not agree with the claim that sh+awk+sed is a adequate
> alternative to perl, ruby, or python.

I think we only disagree on "what for".

> I also do not believe that
> we'll take the time to write everything in C which we might find
> useful, and thus useful things do not get written because we
> refuse to include tools which would allow us to write such things.

There are many things I don't write because it would take too long from
scratch in C.  But then I never found the right C libraries for them either,
nor the right X toolkit, nor the right interpreted language.  Nor...

The things I do eventually get working generally have minimal dependencies.
I've done Tcl/Tk in earnest, but Tcl's just too simplistic a syntax for me
to be truly happy with (even compared with sh(1)), which is probably more
important for it than my personal preference; it won me over better than
the alternatives, didn't it?

> Portupgrade was written in ruby because it was NOT getting written
> in any of the alternatives.

Indeed.  It probably wouldn't exist as a (too ;-) valuable tool otherwise.

It's great to have it, but what's coming from this debate is that it would
be even better to have at least _some_ of its functionality in the base system.

The ruby dependency is probably less of an issue (though it is one) than
the fact that the functionality wants to exist as part of the existing base
system packaging tools.

> So, so far, I've irritated the standard
> unix scripters, and the C-programmers...

Don't presume...

> At the same time, I don't think we can ever "be safe" with some
> standard scripting language in the base system, because that
> scripting language will change over time.

Aha!  The point is that a _good_ choice will change very little!

Like, um, sh/sed/awk...

Actually, even within the base system a scripting language can evolve
more quickly than standards can keep up with, so long as it doesn't
_break_ the standards and is easy to maintain.

(Portable software, of course, can only rely on the "standard"
functionality, and even then only on that which has been standard
for long enough to be taken for granted.)

> And my guess is that
> any good scripting language will eventually evolve into it's own
> "OS-neutral" platform, and thus grow into a monster that we won't
> want to have in our base system.

I think that's a tendency, but in some ways also a problem with the
scripting language.

Even as a proponent of portable software (whom you would think would
advocate the "give-me-the-kitchen-sink-with-an-OS-neutral-API" approach),
I think that an application should fit well into its environment.  It's a
case of "a bit of effort on the part of one developer makes it easier
for [many] end users".

> Thus, any good, standard,
> popular, and useful scripting language is probably going to be
> a bad choice over time.

I guess it depends on "how good", "how standard" and "how popular"!

So far the applicable languages seem to be "not perl", "sh" and "perl",
respectively.  :-)

> That claim should manage to irritate
> everyone else...

The "can't hack it with the usual tools" group?  Sure, let's go irritate
them...

> This is an unwinnable debate, imo.

Win??  I thought it was all about spreading mindshare, even if just to a
minority.  ;-)

		Cheers,

		Mark.

-- 
Mark Valentine, Thuvia Labs <mark@thuvia.co.uk>       <http://www.thuvia.co.uk>;
"Tigers will do ANYTHING for a tuna fish sandwich."       Mark Valentine uses
"We're kind of stupid that way."   *munch* *munch*        and endorses FreeBSD
  -- <http://www.calvinandhobbes.com>;                  <http://www.freebsd.org>;

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207160340.g6G3eOw1024171>