Interpreted language(s) in the base
Doug Barton
dougb at FreeBSD.org
Mon Aug 16 06:15:59 UTC 2010
On Sun, 15 Aug 2010, Ivan Voras wrote:
> This is my long-term point - it really would be beneficial to have an
> alternative, richer language in base which would fall between the
> categories of "a good system language but far too complex for simple
> string-parsing stuff" which is C and "a good glue language for system
> utilities but lacking more evolved concepts" which is shell.
I sort of agree with you here, but I don't. :) ONE of the reasons that
perl was axed from the base was that it was very very hard to keep the
bmake glue up to date. However, a bigger reason was that it was
impossible to marry our concept of a "stable" branch with the
ever-evolving world that was perl. We often had a situation where a
long-lived stable branch would have a VERY stale version of perl in it,
to the point that the only rational course of action was to disable the
perl build and install a usable version from ports. We do not want to
go back down that road. (And I'm not speculating here, I lived through
it.)
Personally, I think the whole "base" and "ports" thing is an artificial
divide that is rapidly losing utility. I think we're past due for
stripping the FreeBSD "base" down to a much more bare minimum, and
having a lot more of the bells and whistles live in the ports tree.
Aside from the usual suspects (BIND, sendmail, etc.) I also would dearly
like to see the ports tools themselves move into the ports tree. This
would make it TONS easier to introduce new features and bug fixes to the
ports infrastructure. There are many other such examples.
> That said, I know it's useless to simply import something in the hope
> it will be useful in the future.
Not only useless, but certain to be vigorously opposed by many,
including me.
> My best bet is that I (or someone else) would write something useful
> enough to be imported in base in such a language, which would warrant
> importing the language itself.
13 years ago I very nearly wrote mergemaster in bash for this exact
reason (and believe me, many is the time that I wish I had possessed the
courage to be that devious back in the day, but I was new to the
community and still idealistic). 6 years ago when I started working on
portmaster I had the same internal debate, but my better angels won out.
Short version of my tortuous internal struggle, you can't win this
argument, even if I though you should be able to. **IF** this were a
good idea, the only rational choice would be one of the more
sophisticated yet still POSIX-compliant shells because they offer you
significantly more features, without the dramatic churn problem that
the "cooler" languages do. So let me give you the reader's digest
version of the debate, then ask yourself again if you want to keep
proposing this:
lua too "flavor of the day," not enough track record of stability,
not enough installed base/proven utility
ruby too much churn, weird/zealotrous user community, more utility
but still feels to new for some of our graybeards
python possible, but you still have the churn problem, not to mention
actually pulling this trigger massively inflames the communities
for all the other "interpreted" languages
ksh arguably most POSIX-compliant, has a lot of good features, but
but (also arguably) sort of a klunky shell which reduces the
value in the '2 birds for 1 stone' department
zsh less POSIX-compliant, oddly deviant from "standard"
bourne-derived shells which makes graybeards break out in hives
also, see ruby under user community
bash probably the best candidate in the 3 most important categories,
POSIX compliance, good feature set (although not as feature
full as even zsh is), and is a less klunky shell. HOWEVER,
it's too "establishment" to make the kids happy, and isn't
as clean in the license category as we'd like. (And yeah,
I purposely omitted that question from all the other
candidates as well.)
got any other suggestions?
> some JavaScript engines probably fit the description.
Yikes! Sorry I asked. :)
Doug
--
Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/
Computers are useless. They can only give you answers.
-- Pablo Picasso
More information about the freebsd-current
mailing list