[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Needed: Info on LISP X based toolkits



I would like to take this opportunity to flame about CLUE, in the hope that
somebody out there will take the time to educate me.  I hope this stirs up
a debate on both lists.

[Note: when I say "lisp", I mean Common Lisp.  And CLOS is an official part
of Common Lisp.]

CLUE claims to be an object-oriented, portable user-interface toolkit
written in lisp.  To quote from the manual:

	CLUE could be described as a translation of the X-Toolkit "intrinsics"
	into the domain of Common Lisp and CLOS.

The problem is that this is modeling a large object-oriented Lisp program
on the X-Toolkit.  Now if the X-Toolkit were a great example of o-o
programming, or if Lisp were no better at o-o programming than C, this
might make sense.  But if those statements were true, I can't see that Lisp
has anything to offer beyond C, and I think we should just trade in our
()'s for {}'s.

There is one possible reason for basing CLUE on the X-Toolkit:  if there
were a way of importing C code from the toolkit in a way that made it
follow the CLUE protocol exactly.  That could win because we (Lisp'ers)
could take advantage of their (C'ers) code without having to think twice.
But I haven't heard anybody mention this possibility.  Even if this were
possible, there is no portable way to import foreign code.  Finally, this
argument is based entirely on economics.  Not that I have much against
economics, but I don't think it is the only (or even the major) measure of
worth.

The history of o-o programming and window environments are closely coupled.
With lisp we can do much more that duplicate some other conception of a UI
toolkit.  But this will take time and effort.  CLOS is a new and unique
language; it is elegant, powerful, efficient (well, maybe), and fun.   We
have not had enough experience to understand what the "correct" style of
programming in CLOS is, or know how it will change the way we think about
programming.  What is needed is not a premature UI toolkit standard based
on some impoverished language's notion of programming, but a long-term
effort by a large community to try to understand what CLOS really is, what
it is really good for, and what it says about the ways to construct such a
system.

Let a thousand systems bloom.  And for god's sake, let them bloom in public
where we can all appreciate them and learn from them.


Now that I've stepped on almost everybody's toes, is there anybody out
there with something to say?  Speak up now...


-smL