Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site clan.UUCP
Path: utzoo!dciem!nrcaero!clan!holtz
From: holtz@clan.UUCP (Neal Holtz)
Newsgroups: net.ai
Subject: Thus Spake the DOD ... (really: Lisp books, this time)
Message-ID: <159@clan.UUCP>
Date: Sat, 9-Mar-85 10:31:09 EST
Article-I.D.: clan.159
Posted: Sat Mar  9 10:31:09 1985
Date-Received: Mon, 11-Mar-85 02:46:40 EST
Distribution: net.lang.lisp,net.lang.ada
Organization: Systems Eng., Carleton Univ., Ottawa, Canada
Lines: 53

> Okay, this is the first time anyone has said anything that has sparked my
> interest in looking at Lisp.  So tell me, where can I find a good book to
> teach me Lisp and what is it called?
>					- Robert A. Pease
 
Two very good candidates are:

  1. Winston, P.H., and Horn, B.K.P., (1984), "LISP - Second Edition",
     Addison Wesley.  (Note that the second edition is much improved
     over the first).

  2. Abelson, H., and Sussman, G.J., (1985) "Structure and Interpretation 
     of Computer Programs", MIT Press.

The second does not purport to teach Lisp, it just uses it to discuss
important ideas in programming (it actually uses Scheme, a not generally
available dialect, but in most cases that doesn't differ substantially).
In spite of that (or perhaps because of it), it is still very usable
to learn from.  The first book is more traditional in that it explicitly
sets out to teach Lisp (using Common Lisp, in this case), but does discuss
many of the same ideas.  In my opinion, you might find Winston and Horn
a bit easier to learn from, but you really should have both.

Its probably irrelevant now, but the one book that you should stay as far away
from as possible, should you ever see it on the remaindered book shelves, is:

  3. Tracton, Ken, (1980), "Programmer's Guide to LISP", No. 1045,
     TAB Books.

I was deeply offended by this book; I know of no "better" way to discourage
people from learning Lisp than to give them this to learn from.  It is
particularly unfortunate in that it is the type of book that would easily
fall into the unwitting hands of the neophyte, being inexpensive and, on the
surface, being simple to understand.  It was obviously directed at the
"home hacker" market, but it does a great injustice to those people.

Almost none of the examples show the power of the language; most are
straightforward numerical examples at which Lisp offers no obvious
advantage.  In the few examples that are more "lispy", there is no mention
as to why you might want to do such a thing.  The style of presenting
programs is atrocious (e.g., no indentation to show structure).  It is
riddled with errors.  On two separate occasions I have turned to pages at
random (a total of 11) and found errors on all but one -- I usually quit
looking after the first  (page 89 was the only one on which I did not find
any obvious errors).

Sorry, Ken, if you read this, but the afternoon you spent writing the book
and checking the proofs did not greatly advance the art and science of
computer programming.

				- Neal Holtz
				  Dept. of Civil Engineering
                                  Carleton University