[comp.lang.lisp] Development of Lisp Systems

shebs%defun.utah.edu.uucp@utah-cs.UUCP (Stanley T. Shebs) (02/01/88)

In article <6950006@hpfclp.HP.COM> fritz@hpfclp.HP.COM (Gary Fritz) writes:

>> [...] The hardware vendors fell into the trap of assuming
>> that good software is easy to build - a common misconception of hardware
>> types who "once wrote a 200-line Fortran program".  In fact, hardware vendors
>> have *rarely* succeeded in producing good software of *any* sort, [...]
>
>This is an unfair statement.

This relates more to software engineering in general than to Lisp systems,
but I think it reflects reality.  Time and again, we see the hardware first
and then the system software tacked on as an afterthought, then the vendors
are surprised and unhappy when customers avoid their proprietary but hastily
written code in favor of something that had a little more effort put into it.
Upper management is probably the most to blame - if they have an engineering
background, it's more likely to be in hardware, and the prejudices just seem
to be inevitable.  ("CS?  No, we find they're too undisciplined.  We prefer
to retrain people with other degrees, say Math or EE.")

>HP Common Lisp was developed by a group
>of extremely qualified software engineers, many with extensive previous
>experience in building Lisps.  Granted, the implementation had some
>problems, but those were due more to historical/etc. reasons than to
>"hardware types who once wrote a 200 line FORTRAN program".

After over two years of using HP CL, I'm familiar with its characteristics.
I'd like to know why these "extremely qualified software engineers" didn't
stand up and demand a thoroughgoing rewrite, instead of patching and patching
PSL innards (imagine my cynical lack of surprise to find a "PSL" package, and
a "system-lisp" flag that disables type checking indiscriminately).  I'd like
to know why so much effort was put into a flashy but inferior editor, instead
of into the nuts and bolts of a decent compiler.  I'd like to know why Spice
Lisp wasn't credited as the source of much of the runtime system (as evidenced
by certain quirks and bugs that should have been cleared up before HP CL was
sold for big bucks per copy).  At least to me, calling oneself a "software
engineer" implies a certain level of professional responsibility, including
whistle-blowing if "historical/etc reasons" are resulting in a bad product.
At Utah we were (and are) grateful for massive donations of HP equipment, but
our attempts to return the favor by suggesting improvements to early versions
of HP CL were met with complete silence on HP's part.  Again, I suspect it was
mostly upper management's fault, but did the software engineers involved ever
question HP CL's schedule or staffing or requirements?

							stan shebs
							shebs@cs.utah.edu