Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Oct 2000 12:03:08 -0700
From:      Jordan Hubbard <jkh@winston.osd.bsdi.com>
To:        kientzle@acm.org
Cc:        Alexander Langer <alex@big.endian.de>, libh@FreeBSD.ORG
Subject:   Re: BOF at BSDCon: FreeBSD Installer, Packages System 
Message-ID:  <7131.972327788@winston.osd.bsdi.com>
In-Reply-To: Message from Tim Kientzle <kientzle@acm.org>  of "Sun, 22 Oct 2000 22:34:15 PDT." <39F3CDD7.15B889E7@acm.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> However, I did talk to a few people about the installer
> and came up with at least one very concrete suggestion:
> 
>    The installer must be scriptable.

We're waaaaay ahead of you on that one. :)

That's one of the major reasons that libh is TCL based and mandates a
TCL API for all major functionality in addition to the C/C++ APIs
already offered by various back-end libraries.  You want to be able to
compile up monolithic installer/package front-ends for embedded
solution stuff (think flash) AND you want to be able to craft more
comprehensive solutions, such as that which would go on a generic boot
floppy, with a TCL interpreter embedded and lots of nice hooks for
jumping to optional user scripts which can pretty much do anything
they damn well please.

> Since installer size is such a major concern, the
> language needs to be something very compact to implement.
> I know of three languages that have extremely compact
> implementations: Forth, Lisp, and BASIC.  My favorite

Heh.  Well, fortunately, TCL is both compact (at one of my last jobs
we even got it into a telephone switch with only 64K of memory) and
well-known to many.

Forth, well, it's suited to boot loaders and such (being *really*
compact) but has such an acceptance problem for more general
programming that I don't think we could use it. I'm a big forth fan
myself, don't get me wrong, but it's a really hard sell.  Likewise
lisp, even though you're starting to see more of it in window managers
and such (I believe sawfish uses guile), is a pretty hard sell to
people more used to procedural programming languages.  I also like
lisp and think it's a great language but, like forth, you usually hear
little but loud whining when you adopt it for a mainstream project.
The GIMP uses it, for example, and you see hardly anyone but the
actual principal developers writing plug-ins for it.

As to BASIC, well, ICK.  It might be great for training neophytes in
programming but it's got too many deficiencies as a general
programming language unless you go all the way and attempt to write an
HP business BASIC clone or something.  There's no scoping,
e.g. nothing like TCL's namespace mechanism, and the language itself
is not very extensible.  With TCL, for example, you can drop in one
module and voila', you have a full OOP paradigm now available ([incr
TCL]).  There are quite a few other examples of this which make BASIC,
especially a quick hand-rolled BASIC, simply way too simplistic for
the job.  Also, people tend to have a strong gag reflex when you
mention BASIC and I'd rather not have to sell such a project over the
sounds of gagging, fair or not.

> This also implies that the installer must
> be very modular.  In particular, the major dialogs
> need to be script language commands and the primary

I think you really really need to look into libh.  Much of what's on
your wish list is already implemented, to say nothing of designed. :)

- Jordan


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




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