[net.lang] LISP criticism

jeff (04/15/83)

I have been reading cautions against reviewing languages one does not know
well.  This seems fair.

The truth is, however, I hate LISP.  I hope I am being fair, and would like
to be talked out of this hatred if I am not.  I have programmed in LISP for
a year, and got to dislike it more as time progressed, but perhaps one year is
not long enough.

Simple recursive functions look cute in LISP, but my experience was that,
once beyond them, you wound up torquing LISP to be used in ways it was not
designed to be used:  programming via side effects, for example.  Large
complicated LISP systems seem to be parenthesized horrors.

What of Knuth's suggestion, that a list processing package be written for
another language (I presume Knuth would consider C decent), so that all syntax
and data structures need not be processed as lists?  It really hurts me to see
an array of 22 items processed by calling 21 identical subroutines.

Again, I am not a LISP expert, and am aware of the COBOL phenomenon--if you
polled programmers, asking the best language, the answer would be that COBOL
is, because it is the one that most use.  I do believe I gave LISP a fair
trial, however, and it is hard to find a qualified expert in a language who
hates it.  My feeling is that the Artificial Intelligence community uses 
LISP for the same reason the business community uses COBOL, 
and the scientists use FORTRAN--absence to date of an alternative 
clearly superior to all others, and inertia.

			Jeffrey Kegler
			RLG Associates
			...{seismo,mcnc,lime,we13}!rlgvax!jeff

jah (04/18/83)

I'm always forced to wonder why people think there is a language called
LISP.  The statement "I hate LISP" is much like "I hate business languages."
It may be true, but usually not th way intended.  I, personally, have programmed
in 9 different LISPs, each a variant on the three main contenders (UCI, MAC,
INTER).  I hate IBM Lisp, I am ambivalent about Franz Lisp, I think Lisp
Machine Lisp is a superior language.
IBM Lisp has no arrays, has bad debugging facilities, and is very
inefficient.
Lisp Machine Lisp has arrays, heaps, stacks and a fully developed
object oriented computing package.

The comments about why people dislike Lisp (everything must be in a List,
it is inefficient to get the (CADDDR (CADDDR (CADDDR x))), and other
such complaints need not hold true of Lisp.

WOuld people flaming about Lisp mind mentioning
  (a) WHich Lisp
  (b) on what machine
  (c) whether they use the compiler or just the interpreter
  (d) whether they are doing symbolic programming or not.

ka (04/19/83)

The automatic garbage collection in LISP can be very helpful for certain
types of programs.
				Kenneth Almquist

taylor (04/23/83)

	With all due respect to the criticism that there are a number
of 'flavors' (pardon the semi-pun) of LISP, I think that the criticism
still holds a whole lotta truth;  I mean, because Berkeley Pascal has
no strings (only 'alfa') and UCSD Pascal has, does that mean that to
make a criticism of Pascal I have to specify which dialect???

	I don't think so.  If it comes down to it, I suspect that the
PROGRAMMING STYLE of the user is the most significant distinction
between dialects, and that the dialects themselves don't mean a whole
lot!

	As for the criticisms themselves, I think that the shrewd
observer will find that we have been discussing 1) the advantages
and disadvantages of various programming/system languages and 2)
the environment that promotes good programming.  This does NOT mean
that we have been discussing that "gee, Franz Lisp sure has s--tty
hooks into the UNIX* OS, compared to CP/M LISP and it's hooks into
CP/M**"  (Don't flame about there not being a CP/M LISP...)

	I hope that this group will remain a forum for valid and
constructive (and supported!!) comments and criticism of (net.) lang(s)!

	Opposing comments (almost un-)welcome.

			-- Dave Taylor

			..sdcsvax!taylor

*  UNIX is a trademark of Guess Who!!!
** CP/M is a trademark of Digital Research Inc.