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

lisp machines vs. lisp on other boxes



I have used lisp in environments other than a lisp machine, though not on a
SUN. However, I'm in an environment where I have to deal with lisp
machines, UNIX workstations and mainframes, and VMS workstations and
mainframes. And I've partaken in many religious discussions about the
merits of each of these systems.

 From these conversations, I've come up with what I hope is a fairly
objective view of the difference between a lisp machine and other popular
programming environments. UNIX (and other "traditional" systems) are
fundamentally designed to make the best use of the machine. Lisp machines
are designed to make the best use of the programmer. 

There are trade-offs. Arguably what I label the UNIX philosophy is harder
on the programmer, but the software is faster and can be run on more
inexpensive, generally available equipment satisfactorally. The primary
drawback of the lisp machine philosophy is the expense of the equipment
needed to run the developed software, and the fact that this equipment is
not generally available. In the long term, the lisp machine philosophy
makes more sense to me - machine costs are coming down, programmer costs
are not.

Therefore, when I'm asked to evaluate a machine with a lisp environment, I
am more concerned with the environment than with raw horsepower. For
example, I find Flavors an indispensible tool, the sophistication and
extensive programmer interface to the window system is another, as are the
debugging tools, including dynamic type checking.

I am bemused by the claims of machine X being able to run Y benchmarks as
fast or faster than a lisp machine: (1) None of the machines I've seen so
compared are an order of magnitude faster - which might be some cause for
overlooking (2) None of these machines' environments provides the complete
collection tools which make a lisp machine a fundamentally different
programming environment.

Similarly, I'm also amused by people saying that, for example, a SUN
running Lucid is better matched to a beginner. There is some
self-perpetuating nonsense that lisp machines are highly sophisticated,
special purpose machines that only some gurus can use well. Admittedly the
array of tools on a lisp machine can bewilder a beginner, but that's only a
matter of how the beginner is introduced to the machine. It is in fact an
easier machine for a novice to accomplish something on than trying to
accomplish the equivalent on a SUN/Lucid (or equivalent) machine. If the
purpose of introducing someone to a lisp programming environment is make a
lisp programmer out of them, a toy (as I've heard the SUN/Lucid system
called on this bboard) is only going to frustrate them. 

I have a hard time believing that a standard architecture machine will be
able to simultaneously provide the speed and environment that a lisp
machine does. Notice, that this is primarily an endorsement of lisp
machines, not Symbolics - they have the best environment, but I suspect I'd
take an Explorer over any 68xxx workstation plus lisp. Happily, I don't
have to make that choice.

Finally, I think that Symbolics ought to seriously consider offering a a
multi-user lisp machine product. This could be offered as (1) something
that is meant to plug into a VAX so that when someone calls lisp, they find
themselves talking to a Symbolics or (2) they could offer a machine that
would support 2 or more lispm consoles. Admittedly, this would somewhat
compromise the lisp world concept, but it could be accomplished with
something like "firewall" technology to deal with some of the more serious
of these problems. It would dramatically drop the per user price and
product (1) would provide a much clearer transition path for users of more
traditional systems.

Richard Billington - buff@cis.upenn.edu