From: ·······@yahoo.com
Subject: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <1141681215.615854.127040@j33g2000cwa.googlegroups.com>
I'm looking for an intro to LISP programming
and Touretzky's  book,
"Common Lisp, a Gentle Intro to Symbolic Computation"
looks good.

However, it is 16 years old.

Has LISP changed much since 1990? 
Is the book out of date?

Thanks.

From: Hrvoje Blazevic
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <duibco$fht$1@ss405.t-com.hr>
·······@yahoo.com wrote:
> 
> I'm looking for an intro to LISP programming
> and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
> 
> However, it is 16 years old.
> 
> Has LISP changed much since 1990? 
> Is the book out of date?

The book is still OK. AFAIK, it does not deal with parts that have/might 
have changed.

-- Hrvoje
From: arnuld
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <1141724453.004137.308840@i39g2000cwa.googlegroups.com>
> I'm looking for an intro to LISP programming and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
>
> However, it is 16 years old.
>
> Has LISP changed much since 1990?  Is the book out of date?

well, as of March 7, 2006. i am learning from this book. it is
excellent and you can not evev guess that it is 16 year old. you can
guess only if somebody has told you already or you had a look at
photograpgh of Mr. Touretzky at his home page (it reminds you of the
80s).

anyway, 1st of all there are 2 things that need to be clear:

1.) about me

2.) about you

ABOUT ME: i am a newbie to programming. i have my brain tested @ SICP,
HtDP, HtTLaCS (1)  and dozen of other books as intoduction to
programming. None was good enough for me. most of them are available
online. check them by going google.

in the setteled for an unknown book i.e. Touretzky's. Very good. but in
the end you need to check your own thinking pattern and see which one
fits onto your brain.


ABOUT YOU: you did not tell whether you are a newbie to LISP or  a
newbie to programming?

i will give you an idea, a good one :

check out my posts by using search fascility at comp.lang.lisp. enter
my name and look for the messages posted by me, you will see lots of
people's views on newbie questions (as i posted only questions related
to newbies for i am a newbie)

also search com.lang.lisp archives with keywords like "NEWBIE"
"LEARNING LISP" etc. and you will get lots of good information and if
you read almost all of them, you will get your answer.

hope this helps

-- arnuld


(1) SICP        -  structure and interpretation of computer programmes
    HtDP        -   How to design programs
    HtTLaCS   -   How to think like a computer scientist.
From: arnuld
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <1141724993.740341.222160@j33g2000cwa.googlegroups.com>
> I'm looking for an intro to LISP programming and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
>
> However, it is 16 years old.
>

well, as of March 7, 2006. i am learning from this book. it is
excellent and you can not even guess that it is 16 year old. you can
guess only if somebody has told you already or you had a look at
photograpgh of Mr. Touretzky at his home page (it reminds you of the
80s). The book feels so modern.


> Has LISP changed much since 1990?  Is the book out of date?

> not at all. *outdated*, *forget* this word when you are dealing with Touretzky

anyway, 1st of all there are 2 things that need to be clear:

1.) about me

2.) about you

ABOUT ME: i am a newbie to programming. i have my brain tested @ SICP,
HtDP, HtTLaCS (1)  and dozen of other books as intoduction to
programming. None was good enough for me. most of them are available
online. check them by going google.

in the end setteled for an unknown book i.e. Touretzky's. Very good.
but in the end you need to check your own thinking pattern and see
which one fits onto your brain.


ABOUT YOU: you did not tell whether

    -- you are a newbie to LISP or  a newbie to programming?

yes, i exactly mean there are 2 different paths for 2 different
persons. i can guide on the newbie to programming path which i am
tracing from last 10 months.

If you have experienced programming or programme in other language, i
do not think there is better book than ANSI Common LISP by Paul Graham
and then PAIP by Peter Norvig. also read Practical Common LISP by Peter
Seibel, it fills a very important gap of "scripting". Touretzky's book
is good for people whoa re new to programming and want tot start in CL,
it is too basic for persons who already programme in another language.

i will give you an idea, a good one :

check out my posts by using search fascility at comp.lang.lisp. enter
my name and look for the messages posted by me, you will see lots of
people's views on newbie questions (as i posted only questions related
to newbies for i am a newbie)

also search com.lang.lisp archives with keywords like "NEWBIE"
"LEARNING LISP" etc. and you will get lots of good information and if
you read almost all of them, you will get your answer.

hope this helps

-- arnuld


(1) SICP        -  structure and interpretation of computer programmes
    HtDP        -   How to design programs
    HtTLaCS   -   How to think like a computer scientist.
From: fireblade
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <1141752883.458780.224470@j33g2000cwa.googlegroups.com>
·······@yahoo.com wrote:
> I'm looking for an intro to LISP programming
> and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
>
> However, it is 16 years old.
>
> Has LISP changed much since 1990?
> Is the book out of date?
>
> Thanks.

No the book is still great , nobody has an easier and funnier style
than David and a reason because I don't know CLOS is because this book
doesn't have a chapter on it .
If you're complete newbie this is a great place to start , even if you
allready programmed in other languages this is a good place.

You'll find few staff re capability of implementations but just ignore
it an enjoy the book.

When you'll over with it try something else like Seibel PCL .

If you're allready good programmer maybe Ansi common lisp with get you
faster to tracks.

bobi
From: Tin Gherdanarra
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <475dekFdrqjvU1@individual.net>
·······@yahoo.com wrote:
> 
> I'm looking for an intro to LISP programming
> and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
> 
> However, it is 16 years old.
> 
> Has LISP changed much since 1990? 
> Is the book out of date?
> 

I have heartily endorsed Touretzky's /Gentle Introduction/
as a Lisp primer, and I do it again for you. The book is
a good read and a thorough, sound and easy-to-comprehend
introduction. Be warned, however, that you might find some
parts a little TOO easy to understand. If that happens,
don't give in to the temptation to skip paragraphs, because
you might miss important details that are not so obvious.
Work thru the exercises, put the book under your pillow
and gently move to your white belt in Lisp programming.
Then go and read Peter Seibel's -practical lisp- and
Paul Graham's -OnLisp-.
From: Robert Bruce Carleton
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <86r75e2mlz.fsf@papa.hakuhale.net>
Tin Gherdanarra <···········@gmail.com> writes:

> ·······@yahoo.com wrote:
> > I'm looking for an intro to LISP programming
> > and Touretzky's  book,
> > "Common Lisp, a Gentle Intro to Symbolic Computation"
> > looks good.
> > However, it is 16 years old.
> > Has LISP changed much since 1990? Is the book out of date?
> >
> 
> I have heartily endorsed Touretzky's /Gentle Introduction/
> as a Lisp primer, and I do it again for you. The book is
> a good read and a thorough, sound and easy-to-comprehend
> introduction. Be warned, however, that you might find some
> parts a little TOO easy to understand. If that happens,
> don't give in to the temptation to skip paragraphs, because
> you might miss important details that are not so obvious.
> Work thru the exercises, put the book under your pillow
> and gently move to your white belt in Lisp programming.
> Then go and read Peter Seibel's -practical lisp- and
> Paul Graham's -OnLisp-.
> 
> 
> 

I always thought that COMMON LISP: An Interactive Approach by Stuart
C. Shapiro was another good text.  It's available as a PDF file:

 http://www.cse.buffalo.edu/pub/WWW/faculty/shapiro/Commonlisp/

Best regards,

                        --Bruce

-- 
Robert Bruce Carleton
From: David Sletten
Subject: Re: Is the Touretzky book still good? (Or is it too old?)
Date: 
Message-ID: <DHnPf.14150$992.9036@tornado.socal.rr.com>
·······@yahoo.com wrote:

> 
> I'm looking for an intro to LISP programming
> and Touretzky's  book,
> "Common Lisp, a Gentle Intro to Symbolic Computation"
> looks good.
> 
> However, it is 16 years old.
> 
> Has LISP changed much since 1990? 
> Is the book out of date?
> 
> Thanks.
> 

Touretzky's book covers a small (?) subset of Common Lisp, a core which 
I don't believe has changed much since the book was published in 1990. 
The ANSI standard was not published until 1994 (or 1996?), and Paul 
Graham highlights changes in CL since 1990 (apparently the publication 
of the 2nd edition of Steele's _Common Lisp The Language_ is his 
reference point) in Appendix C of his book _ANSI Common Lisp_. However, 
these changes are limited to more esoteric areas of the language which 
Touretzky does not cover.

The book is an excellent introduction to Common Lisp particularly for 
those with little programming experience. He takes his time with 
material and provides many useful exercises. He has also written a great 
chapter on recursion which would probably be very helpful to those new 
to the concept.

On the other hand, if you have experience in other languages the book 
may move too slowly for you. A highly recommended alternative in any 
case is Peter Seibel's _Practical Common Lisp_, available for free at 
http://www.gigamonkeys.com/book/ As you may conclude from the fact that 
it was published just last year, it is a very up-to-date book with good 
examples of modern style and interesting projects. Touretzky's book 
covers a more "traditional" kind of Lisp programming. Seibel's book is a 
jazzier (which is not to say it lacks substance) update.

I believe that Touretzky's book is still worth reading, but I want to 
point out 2 shortcomings. First, he doesn't cover the Common Lisp Object 
System (CLOS - the mechanism for object-oriented programming in CL). 
This is fair enough in an introductory book. However, he does make some 
use of DEFSTRUCTs, which are an essentially obsolete alternative to 
class definitions. In fact, DEFSTRUCT has been retroactively defined in 
terms of CLOS. This is really just a sign of the book's age, and you 
should be aware of modern usage (which is covered of course in PCL).

The second issue is really more of an error. I suppose it may be an 
artifact of older Lisp systems, but Touretzky appears to contradict 
himself. A footnote on pg. 308 (section 10.2) states that "...it is 
entirely legal to have a lexically scoped (unspecial) global variable.". 
This is not true of Common Lisp. The Common Lisp HyperSpec (CLHS), which 
is the online version of the ANSI standard, defines a global variable 
[1] to be either a dynamic variable or a constant variable. "Dynamic" 
here is just a synonym for "special", so a (nonconstant) global variable 
is a special variable not lexical.

On pg. 418 (section 14.10) Touretzky then points out that the Lisp 
compiler may warn that global variables are "assumed to be SPECIAL". 
This is an indication that the variable has been assigned a value before 
it has explicitly been created (more on this in a moment). He advises 
that "you can get rid of these warnings by declaring the variables with 
DEFVAR, [or] DEFPARAMETER...". Of course, DEFVAR and DEFPARAMETER 
implicitly declare the variables they create as "special" variables. So 
much for global lexicals. Touretzky says that "you can also ignore the 
warnings if you choose.". However, if the compiler is telling you that 
it's treating a global variable as special, then it doesn't help you to 
pretend that it's lexical.

The consequences of this error show up in section 14.16 "Dynamic 
Scoping" (more accurately described as indefinite scope and dynamic 
extent). Touretzky creates a global special variable via DEFVAR and then 
presumes to create a global lexical variable simple by assigning a value 
to it:
(defvar birds)
(setf fish '(salmon tuna))
(setf birds '(eagle vulture))

Unfortunately the consequences of assigning a value to a variable 
without creating it first are not defined. In Common Lisp variables must 
be created via DEFVAR/DEFPARAMETER/LET or as function parameters (LAMBDA 
binding). Touretzky goes on to define a few functions that purport to 
demonstrate the different behavior of lexical and special variables. 
However, the illustration is invalid due to the error above in assuming 
that FISH is a global lexical. I believe that the following demonstrates 
his intent:
(defvar birds '(eagle vulture))
(defun ref-birds ()
   birds)

(let ((fish '(salmon tuna)))
   (defun ref-fish ()
     fish))

(defun test-dynamic (birds)
   (list birds (ref-birds)))

(defun test-lexical (fish)
   (list fish (ref-fish)))

Note, however, that BIRDS would conventionally be named *BIRDS* to 
highlight the fact that it is a special variable. Also note that while 
FISH continues to exist, due to the closure created in REF-FISH, once 
the enclosing LET has exited it is still not a global lexical.

This discussion may not make much sense to you as you begin your study 
of Lisp but come back to it later once you've read Touretzky's book.

Aloha,
David Sletten

[1] 
http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_g.htm#global_variable