From: ajones
Subject: Opinions on intro lisp books
Date: 
Message-ID: <1132335924.354026.323390@g43g2000cwa.googlegroups.com>
After spending a bit of time looking at it I am really interested in
learning lisp. Out of what I have seen Peter Siebel's "Practical Common
Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
recommendations. I have liked what I got out of pcl so far reading it
on line, but I was wondering if graham's book would be a better choice.

I enjoy sample problems. Every time I try to come up with something on
my own I think of ideas that are way too complicated. Does the book
version of pcl have samples in it that are not posted online?

From: rolfwind
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132339838.499547.263780@o13g2000cwo.googlegroups.com>
My favorite book right now is "Common Lisp: A Gentle Guide to Symbolic
Computing."  I found it on this list:
http://www.franz.com/newtolisp/

And it's freely and completely available here as a PS or PDF file:
http://www.cs.cmu.edu/~dst/LispBook/index.html

It's not available new on amazon but you can get it used.  Since it was
a text book, it has plenty of practice problems plus the answers are in
the back (though my correct answers are starting to drift away from
those in the book:)  It starts out very simple.

I tried to read PCL too - and got lost.  As a C (some C++) programmer,
I felt kinda dumped in a strange world from the first chapter and kept
trying to read the programs in a C/C++ structure.  Also the jargon was
confusing as I'm more of a hands-on person anyway but also because some
of means very different things in C - like macros.  Anyway, for some
experienced C programmers, I think a total beginners book (to
programming) is good when learning lisp because it such a different way
of thinking.

I think PCL will be a good second book for people like me though.

As you indicated, PCL is working for you and that's what's ultimately
most important anyway.
From: ·············@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132344115.108461.200930@o13g2000cwo.googlegroups.com>
ajones wrote:
> . . . I was wondering if graham's book would be a better choice.
>
> I enjoy sample problems.

If you enjoy sample problems, get PAIP - it's got difficulty-graded
sample problems, with answers to some of them.  It does a good job of
quickly teaching you enough lisp to understand and tinker with the
examples, and expects you to look at a reference for the rest.  It's
primarily organized around solving problems, rather than language
features.

Graham's book has sample problems as well, but no answers, and I found
them to be less interesting.  It's more like K&R C, if you're familiar
with that - chapters organized by language features (lists, functions,
control, etc), reference in the back.
From: M Jared Finder
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1oOdnUbnNLUQAOPenZ2dnUVZ_tKdnZ2d@speakeasy.net>
ajones wrote:
> After spending a bit of time looking at it I am really interested in
> learning lisp. Out of what I have seen Peter Siebel's "Practical Common
> Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
> recommendations. I have liked what I got out of pcl so far reading it
> on line, but I was wondering if graham's book would be a better choice.
> 
> I enjoy sample problems. Every time I try to come up with something on
> my own I think of ideas that are way too complicated. Does the book
> version of pcl have samples in it that are not posted online?

If you're finding Practical Common Lisp too slow, move over to ANSI 
Common Lisp.  Paul Graham says a lot more in a lot less space.  It's the 
perfect text to read over after you read PCL, to make sure you really do 
understand Lisp.

   -- MJF
From: Peter Seibel
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <m28xvln2ns.fsf@gigamonkeys.com>
"ajones" <·······@gmail.com> writes:

> I enjoy sample problems. Every time I try to come up with something on
> my own I think of ideas that are way too complicated. Does the book
> version of pcl have samples in it that are not posted online?

Nope. I always skip the exercises in books so I wasn't very motivated
to write any in my book. ;-) Sorry. Anyway, it's probably good
practice to learn to bite off only as much as you can chew--if you
pick a project and it turns out to be more than you're ready to
handle, figure out some smaller piece of it and treat that smaller
piece as an exercise. This is a useful skill for programers because
almost all interesting problems are to big to bite off all at once.

-Peter

-- 
Peter Seibel           * ·····@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/
From: Edi Weitz
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <usltt3dxd.fsf@agharta.de>
On Fri, 18 Nov 2005 20:04:24 GMT, Peter Seibel <·····@gigamonkeys.com> wrote:

> I always skip the exercises in books

What a relief!  And I thought I was the only one...

Thanks,
Edi.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: ogliomus
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <ldgsn193sti7ib9k2n1m01j4ifbk03b0if@4ax.com>
Edi Weitz <········@agharta.de> wrote:
>On Fri, 18 Nov 2005 20:04:24 GMT, Peter Seibel <·····@gigamonkeys.com> wrote:
>
>> I always skip the exercises in books
>
>What a relief!  And I thought I was the only one...
>
No, you were/are not the only one. I do the same and skeep the
exercises.
Good evening to everybody, I am new and just trying to learn something
of Lisp.
GC  
From: fireblade
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132415017.896093.200780@g47g2000cwa.googlegroups.com>
>> I always skip the exercises in books


>What a relief!  And I thought I was the only one...



No, you were/are not the only one. I do the same and skeep the
exercises.
Good evening to everybody, I am new and just trying to learn something
of Lisp.
GC

Am i the only one enjoying exercises actually the more the better
and with solutions too.

bobi
From: Geoffrey King
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <4380fff6$0$17707$afc38c87@news.optusnet.com.au>
hey, hey, hey, don't drop all the exercises, some of us do them (sometimes)

fireblade wrote:
>>>I always skip the exercises in books
> 
> 
> 
>>What a relief!  And I thought I was the only one...
> 
> 
> 
> 
> No, you were/are not the only one. I do the same and skeep the
> exercises.
> Good evening to everybody, I am new and just trying to learn something
> of Lisp.
> GC
> 
> Am i the only one enjoying exercises actually the more the better
> and with solutions too.
> 
> bobi
> 
From: Peder O. Klingenberg
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <ks1x1abamx.fsf@beto.netfonds.no>
Geoffrey King <············@optushome.com.au> writes:

> hey, hey, hey, don't drop all the exercises, some of us do them (sometimes)

I like exercises as long as I can solve them by thinking about them,
without using a computer, and preferably without using pencil and
paper.  A computer usually has too many distractions, and my
handwriting just sucks. :)

...Peder...
-- 
I wish a new life awaited _me_ in some off-world colony.
From: Bulent Murtezaoglu
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <87u0e659y4.fsf@p4.internal>
>>>>> "Kubilay" == Kubilay  <···········@gmail.com> writes:

    Kubilay> BTW, a cup of tea and a cigarette would be perfect!  ; )

Cup?  CUP?  Ohmigod ohmigod, we're losing our culture to backward 
foreign influences.  Surely you meant a _glass_ [1] of tea.

tsk, tsk, 

BM

[1] http://winklers-miscellaneous-pictures.fotopic.net/p8994052.html
From: Tayssir John Gabbour
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132374699.695221.257710@g47g2000cwa.googlegroups.com>
ajones wrote:
> After spending a bit of time looking at it I am really interested in
> learning lisp. Out of what I have seen Peter Siebel's "Practical Common
> Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
> recommendations. I have liked what I got out of pcl so far reading it
> on line, but I was wondering if graham's book would be a better choice.

The following site has notes on Graham's ANSI CL book. If you fiddle
with the left sidebar tree, you'll find it. (Lisp Notes/Notes on
Graham)
http://www.cs.northwestern.edu/academics/courses/325/readings/

I think the back of Graham's book is its best part, a quick ref.

I can't determine what's a better choice for you. Just keep in mind he
has a different view of coding style and what's important about Lisp,
than others do. 


Tayssir
From: Bernd Schmitt
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <437e7792$0$20493$9b622d9e@news.freenet.de>
ajones wrote:
> I enjoy sample problems. 
I love reading "paradigms of artificial intelligence - case studies in 
common lisp" from peter norvig and "successful lisp: how to understand 
and use common lisp" david lamkins.
But after all i am not finished with paip ;)


ciao,
Bernd



-- 
https://gna.org/projects/mipisti - (microscope) picture stitching
          T_a_k_e__c_a_r_e__o_f__y_o_u_r__R_I_G_H_T_S.
            P_r_e_v_e_n_t__L_O_G_I_C--P_A_T_E_N_T_S
     http://www.ffii.org, http://www.nosoftwarepatents.org
From: Geoffrey King
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <437ee53b$0$27854$afc38c87@news.optusnet.com.au>
I have recently read pretty much read all of PCL. I am an quite 
experienced (i.e. old) C++/Java/etc programmer and found the book easily 
approachable and valuable.

Unlike C++/java languages (and smalltalk for that matter) reading a 
single book doesn't seem to be enough to understand the langauge & 
environment. I literally know there is a lot i don't understand and am 
ignorant of. When learning other programming languages i have never had 
that experience before...must be good for the soul - right?

ajones wrote:
> After spending a bit of time looking at it I am really interested in
> learning lisp. Out of what I have seen Peter Siebel's "Practical Common
> Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
> recommendations. I have liked what I got out of pcl so far reading it
> on line, but I was wondering if graham's book would be a better choice.
> 
> I enjoy sample problems. Every time I try to come up with something on
> my own I think of ideas that are way too complicated. Does the book
> version of pcl have samples in it that are not posted online?
> 
From: A.L.
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <odeun1tji9scs92odvtalra3vtpnf1aarq@4ax.com>
On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
<············@optushome.com.au> wrote:

>I have recently read pretty much read all of PCL. I am an quite 
>experienced (i.e. old) C++/Java/etc programmer and found the book easily 
>approachable and valuable.
>
>Unlike C++/java languages (and smalltalk for that matter) reading a 
>single book doesn't seem to be enough to understand the langauge & 
>environment.

This is why Lisp is better?...

A.L.
From: Pascal Bourguignon
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <87ek5c3b45.fsf@thalassa.informatimago.com>
A.L. <········@kapturek62.com> writes:

> On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
> <············@optushome.com.au> wrote:
>
>>I have recently read pretty much read all of PCL. I am an quite 
>>experienced (i.e. old) C++/Java/etc programmer and found the book easily 
>>approachable and valuable.
>>
>>Unlike C++/java languages (and smalltalk for that matter) reading a 
>>single book doesn't seem to be enough to understand the langauge & 
>>environment.
>
> This is why Lisp is better?...

Yes.  Only a packer would want to read ONE book.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

This is a signature virus.  Add me to your signature and help me to live
From: David Steuber
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <87hda7c6wj.fsf@david-steuber.com>
A.L. <········@kapturek62.com> writes:

> On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
> <············@optushome.com.au> wrote:
> 
> >I have recently read pretty much read all of PCL. I am an quite 
> >experienced (i.e. old) C++/Java/etc programmer and found the book easily 
> >approachable and valuable.
> >
> >Unlike C++/java languages (and smalltalk for that matter) reading a 
> >single book doesn't seem to be enough to understand the langauge & 
> >environment.
> 
> This is why Lisp is better?...

Have you been shopping at non-sequiturs are us lately?  Or have you
perhaps not considered that studying English and its history is
probably not much help in learning Japanese?

-- 
http://www.david-steuber.com/
The UnBlog: An island of conformity in a sea of quirks.
http://www.david-steuber.com/snippets/Boycott_Sony/
From: Geoffrey King
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <4380fe49$0$25857$afc38c87@news.optusnet.com.au>
David Steuber wrote:
> A.L. <········@kapturek62.com> writes:
> 
> 
>>On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
>><············@optushome.com.au> wrote:
>>
>>
>>>I have recently read pretty much read all of PCL. I am an quite 
>>>experienced (i.e. old) C++/Java/etc programmer and found the book easily 
>>>approachable and valuable.
>>>
>>>Unlike C++/java languages (and smalltalk for that matter) reading a 
>>>single book doesn't seem to be enough to understand the langauge & 
>>>environment.
>>
>>This is why Lisp is better?...
> 
> 
> Have you been shopping at non-sequiturs are us lately?  Or have you
> perhaps not considered that studying English and its history is
> probably not much help in learning Japanese?
> 
That is of course true, but i had no such problems learning:
  - prolog
  - smalltalk
  - CLIPS (not clisp)
to name a few. So comparing many other programming languages to 
latin-based languages and  lisp to japanese, well i guess its fair.
(except if our japanese of course)
From: David Steuber
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <87y83hv9je.fsf@david-steuber.com>
Geoffrey King <············@optushome.com.au> writes:

> David Steuber wrote:
> > A.L. <········@kapturek62.com> writes:
> >
> >>On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
> >><············@optushome.com.au> wrote:
> >>
> >>> I have recently read pretty much read all of PCL. I am an quite
> >>> experienced (i.e. old) C++/Java/etc programmer and found the book
> >>> easily approachable and valuable.
> >>>
> >>> Unlike C++/java languages (and smalltalk for that matter) reading
> >>> a single book doesn't seem to be enough to understand the langauge
> >>> & environment.
> >>
> >>This is why Lisp is better?...
> > Have you been shopping at non-sequiturs are us lately?  Or have you
> > perhaps not considered that studying English and its history is
> > probably not much help in learning Japanese?
> >
> That is of course true, but i had no such problems learning:
>   - prolog
>   - smalltalk
>   - CLIPS (not clisp)
> to name a few. So comparing many other programming languages to
> latin-based languages and  lisp to japanese, well i guess its fair.
> (except if our japanese of course)

If it helps at all, I also have had to work hard at wrapping my mind
around Lisp.  It is different.  In fact, I've felt like I was learning
about programming from step one.

However, with each "Ah Ha!" moment, I appreciate Lisp even more.  It
is worth the effort.  At least I think it is.

-- 
http://www.david-steuber.com/
The UnBlog: An island of conformity in a sea of quirks.
http://www.david-steuber.com/snippets/Boycott_Sony/
From: Alain Picard
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <87sltru28l.fsf@memetrics.com>
A.L. <········@kapturek62.com> writes:

> On Sat, 19 Nov 2005 18:41:34 +1000, Geoffrey King
> <············@optushome.com.au> wrote:

>>Unlike C++/java languages (and smalltalk for that matter) reading a 
>>single book doesn't seem to be enough to understand the langauge & 
>>environment.
>
> This is why Lisp is better?...
>

No. But it _is_ a direct consequence of the reasons why lisp is better.
From: verec
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <437f4e46$0$38037$5a6aecb4@news.aaisp.net.uk>
On 2005-11-19 08:41:34 +0000, Geoffrey King 
<············@optushome.com.au> said:

> I have recently read pretty much read all of PCL.

Yep. Peter Siebel book sets an example of how to write
a really approachable book for foreigners from other
languages.

One of his tour-de-force is that his chapter titles nearly act
as a reference, and yet he does provide a narrative that
is extremely no-nonsense.

>  I am an quite experienced (i.e. old) C++/Java/etc programmer and found 
> the book easily approachable and valuable.
> 
> Unlike C++/java languages (and smalltalk for that matter) reading a 
> single book doesn't seem to be enough to understand the langauge & 
> environment.

I'm quite experienced in Java, but never found out that a *single* book
would explain it all! O'Reilly's are pretty good, but you need far more
than one if you want to master the whole subject: RMI? Weak references?
Generics? Annotations? Serialization? And that point, you really only
know about the "plumbing", and nothing about the "art" of design. This
requires many more books (hopefully, some of which might still apply to
CL :-)

>  I literally know there is a lot i don't understand and am ignorant of. 
> When learning other programming languages i have never had that 
> experience before...must be good for the soul - right?

Learning Common Lisp is a pretty humbling experience, for me. For some reason,
I'd sense that learning Scheme is much simpler, but Scheme doesn't fit with
what I want to do, so, here I go for ... the real beast! :-)

One of the things that sets apart Java from Common Lisp "learnability" is
that, as far as I know, there is simply no Common Lisp equivalent to the
Java Tutorial http://java.sun.com/docs/books/tutorial/

And *that* is *huge* hindrance: only those people who really are motivated
(I needed 20+ years to find the motivation!) are going to be willing to
go through all the hoops needed to achieve CL mastery.

Back to the topic, Paul Graham "On Lisp" (you can download a PDF version
here: http://www.paulgraham.com/onlisptext.html) is at the level "after" PCL.
The narrative is excellent, but finding any particluar item of interest
requires a jump to the index, so that's not as usable as a reference as
PCL.

-- 
JFB  ()
From: ············@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132462819.729513.159710@g49g2000cwa.googlegroups.com>
ajones wrote:
> After spending a bit of time looking at it I am really interested in
> learning lisp. Out of what I have seen Peter Siebel's "Practical Common
> Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
> recommendations. I have liked what I got out of pcl so far reading it
> on line, but I was wondering if graham's book would be a better choice.
>
> I enjoy sample problems. Every time I try to come up with something on
> my own I think of ideas that are way too complicated. Does the book
> version of pcl have samples in it that are not posted online?

I'm a newbie but I have looked at the lisp literature lately with the
intention of learning lisp, so here is my newbie perspective.

>From what I understood, what made lisp quite different from other
languages back in the days and what still makes it ahead of others with
the rest of the industry's languages becoming more 'lispish' with time
as they evolve is that lisp, from the start, was based on a different
computational theory, namely, lambda calculus.

Learning lisp itself, the language, is trivial. What's not so trivial
is learning to think in terms compatible with the lambda calculus
theory of computation, the basis for functional programming languages,
as opposed to turing machine computation which is the widespread
computational theory behind C and most of the 'procedural' languages
used in industry.

That's why learning, say, perl for a C programmer could be as easy as
reading a book, they're based on the same theory of computation, but
lisp is a whole different game.

That's also why the more I read the more I found it wiser to go to the
simplest basics, and not be ashamed about it. Requires a little
patience, in fact, perhaps a lot of patience, but it seems best.

Here are some observations I made on some lisp literature

- Brian Harvey calls SICP the best computer book ever written, and this
reputation is echoed widely, in fact, it was the first one recommended
to me by the fine folks of this newsgroup when I first asked here.
This, though, is a scheme book, not a common lisp one.
- However, SICP is a little advanced, and hence, I came across a Brian
Harvey co-written book called 'Simply Scheme', which is explicitly
written to prepare the reader for SICP; "Our book was inspired by
theirs, and our main goal in writing this book has been to prepare you
for that one."
- Brian Harvey has also written a book 'Computer Science Logo Style'
that seems a good, gentle introduction to prepare the reader for the
"Simply Scheme" book.
- All the above 3 are MIT Press books
- There is also a free book on ibilibio called "How To Think Like A
Computer Scientist Logo Version" that is based on Brian Harvey's
"Computer Science Logo Style" - it seems lighter than BH's book so
could be an introduction to it.
- After Simply Scheme and along with SICP there's also MIT's HTDP.
- As needed I will read the lambda calculus and functional programming
theory literature if there is anything more basic to the above.
- After undrestand functional programming and lambda calculus I could
finally learn common lisp itself, at that point it will perhaps be much
easier. Reading Practical Common Lisp and also Successful Lisp as
introduction books, as well as ANSI Common Lisp or Common Lisp the
Language, 2nd Edittion as reference books.
- Paul Graham's "On Lisp" is an advanced book, this will perhaps be one
of the last I read.
- Either after that I will look at topic that interest me such as Lush
and Dylan.


The above will likely take years, or at least many months. Those books
will require careful, thoughtful reading, and a lot of contemplation
and patience and practice. But so far this is my impression of what may
be the best course.
From: ··········@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132498959.349948.21420@f14g2000cwb.googlegroups.com>
> - After Simply Scheme and along with SICP there's also MIT's HTDP.

Quibble:  since you seem to be a Brian Harvey fan I'll just quote him
at you to make my point.

http://groups.google.com/group/comp.lang.scheme/msg/daa5b9c275758494

:Much as I love SS, it's an *alternative* to HtDP.  You don't need both
of
:them.  And I'd put tLS in the same category.  Any one of those books
is enough.
From: ············@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132515023.097139.63990@o13g2000cwo.googlegroups.com>
··········@gmail.com wrote:
> > - After Simply Scheme and along with SICP there's also MIT's HTDP.
>
> Quibble:  since you seem to be a Brian Harvey fan I'll just quote him
> at you to make my point.
>
> http://groups.google.com/group/comp.lang.scheme/msg/daa5b9c275758494
>
> :Much as I love SS, it's an *alternative* to HtDP.  You don't need both
> of
> :them.  And I'd put tLS in the same category.  Any one of those books
> is enough.

If I find that I already understand much of the book contents before
even reading it, then I'll be even happier, and it wouldn't take me
long to glide through it. But I find that different people explain the
same things in different ways, and repitition of what's important is,
in general, a good thing. So, yes, I plan to read both SS and HtDP.
From: verec
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <438087d2$0$38043$5a6aecb4@news.aaisp.net.uk>
On 2005-11-20 05:00:19 +0000, ············@gmail.com said:

It seems to me that you are confusing two utterly different
disciplines.

Math is about "what"
Computing is about "how"

There is surely some overlap, but those disciplines are
really dictint.

If you enjoy math (as I do) you may be interested in
looking into

the Gallois Theory

http://www.amazon.com/gp/product/0486623424/103-0818994-4137409?v=glance&n=283155&n=507846&s=books&v=glance

the 

Fourier Series

http://www.amazon.com/gp/product/0486406814/103-0818994-4137409?v=glance&n=283155&s=books&v=glance

the 

Continued Fractions

http://www.amazon.com/gp/product/0486696308/103-0818994-4137409?v=glance&n=283155&s=books&v=glance

Cantor's 

Transfinite Numbers

http://www.amazon.com/gp/product/B0007GWO7E/103-0818994-4137409?v=glance&n=283155&s=books&v=glance

Hardy's 

Classic Pure Mathematics

http://www.amazon.com/gp/product/0521092272/103-0818994-4137409?v=glance&n=283155&s=books&v=glance

And 

on, and on (I just don't want to look-up my whole bookshelf on
Amazon :)

But that's not computer science, and will teach nothing about
computing.

Now even Church Lambda Calculus won't teach you much about
computing: whatever there was in this idea, McCarthy was first
to it :-)

If you're interested be books which are at the border between
the two, Knuth is definitely worth an (somewhat arduous) read, both
TAOCP and "Concrete Mathematics"

But apart from those two outstanding exceptions, if you want
to learn computing ... well ... learn computing, not math!

:-)

-- 
JFB  ()
From: ············@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132514596.980051.50170@g14g2000cwa.googlegroups.com>
verec wrote:
> On 2005-11-20 05:00:19 +0000, ············@gmail.com said:
>
> It seems to me that you are confusing two utterly different
> disciplines.
>
> Math is about "what"
> Computing is about "how"
>
> There is surely some overlap, but those disciplines are
> really dictint.
>
> If you enjoy math (as I do) you may be interested in
> looking into
>
> the Gallois Theory
>
> http://www.amazon.com/gp/product/0486623424/103-0818994-4137409?v=glance&n=283155&n=507846&s=books&v=glance
>
> the
>
> Fourier Series
>
> http://www.amazon.com/gp/product/0486406814/103-0818994-4137409?v=glance&n=283155&s=books&v=glance
>
> the
>
> Continued Fractions
>
> http://www.amazon.com/gp/product/0486696308/103-0818994-4137409?v=glance&n=283155&s=books&v=glance
>
> Cantor's
>
> Transfinite Numbers
>
> http://www.amazon.com/gp/product/B0007GWO7E/103-0818994-4137409?v=glance&n=283155&s=books&v=glance
>
> Hardy's
>
> Classic Pure Mathematics
>
> http://www.amazon.com/gp/product/0521092272/103-0818994-4137409?v=glance&n=283155&s=books&v=glance
>
> And
>
> on, and on (I just don't want to look-up my whole bookshelf on
> Amazon :)
>
> But that's not computer science, and will teach nothing about
> computing.
>
> Now even Church Lambda Calculus won't teach you much about
> computing: whatever there was in this idea, McCarthy was first
> to it :-)
>
> If you're interested be books which are at the border between
> the two, Knuth is definitely worth an (somewhat arduous) read, both
> TAOCP and "Concrete Mathematics"
>
> But apart from those two outstanding exceptions, if you want
> to learn computing ... well ... learn computing, not math!
>
> :-)
>
> --
> JFB  ()

I liken it to trying to learn how to use an advanced calculator without
wanting to learn the math required for it to have a meaning.

In fact, I liken it just to that. I liken it to R. I got this mindset
towards Lisp from trying to learn R at the same time. And I assure you
that I did at first intend to learn Lisp over a weekend or a week, or
just a little longer, same with R, but thankfully I no longer try to do
so.

The "how" seems pretty trvial, press that button or type that command.
How to calculate, say, to use a basic example, standard deviation with
R? Easy. I could learn it in minutes, and on an assembly line in some
statistical factory you could pass me all your stuff and I'll
"calculate" its standard deviation on an R interpreter, no problem, and
you could rely on me to do that job pretty well.

But what does that standard deviation thing actually mean. Now that I
find is a more important "how" than that "how". To understand that
standard deviation thing and to see it in the space of mind before me
in a way that I could flip and turn any which way and yet comprehend
from end to end whichever way it's flipped or turned, now that's a
"what" with very profound "how" implications.

To paraphrase Alan Kays, this is what pretty society and modern
education has been doing; trying to produce human cogwheels for
factories. People who, their teachers included, avoid math and science.


But lisp comes from an era when programmers were an intellectual class
higher than industrial factory workers, with a good grasp of math and
science. It doesn't feel like something designed or intended to send
people to the assembly line in the shortest time possible, to do their
job without much thinking or understanding, and avoiding as much as
possible of math and science.
From: verec
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <4380f3e1$0$38040$5a6aecb4@news.aaisp.net.uk>
On 2005-11-20 19:23:17 +0000, ············@gmail.com said:

I would tend to agree with most of what you say, but reach an entirely
different conclusion :-)

When I was referring to the "how" I was implying "how" to think.
Math doesn't teach you that. Philosophy? Possibly. To some extent.
You might be interested in Edward De Bono's books. He doesn't try
to teach you what to think, but _how_ to think.

The "problem" with Lisp is not its (lack of) syntax, It is that it
simply is a too powerful tool for the meagre ideas most people can
come up with, me included. With other languages, you always have
the excuse that you can't express your ideas using such primitive
technology :-)

With Lisp, you get a mirror, not particularly forgiving, of who
you really are. And that's probably its unique strength that
differientates it from everything else. When using it, you know
where the limits are: beyond your reach!

The path you have chosen, getting scientific education first, is not
necessarily a bad thing, but it will teach you only an awfull
lot of "whats" and little, if any. "how".

If you want to reach beyond the surface, I'd suggest you confront
the CL beast as early and quickly as possible (don't do like me,
don't waste 20+ years in ASM/Pascal/C/C++/Java)

Once you start exploring, and hitting your own limitations, you
will probably _then_ sense what it is that you must work on.

Otherwise, the shopping list like of facts the whole humanity has
discovered for the past 5000 years or so, will just stay that,
a shopping list, you will never have any way to master completely
(your brain is not big enough to remember this much) with little
to show as reasoning abilities go.
-- 
JFB  ()
From: Geoffrey King
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <4380707a$0$8662$afc38c87@news.optusnet.com.au>
Wow, *i* would never learn that way. Sounds very 19th century. I would 
approach it from the opposite manner, which thematically would be: what 
i am trying to do dictates what i learn. By programming analogy its top 
down.



············@gmail.com wrote:
> ajones wrote:
> 
>>After spending a bit of time looking at it I am really interested in
>>learning lisp. Out of what I have seen Peter Siebel's "Practical Common
>>Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
>>recommendations. I have liked what I got out of pcl so far reading it
>>on line, but I was wondering if graham's book would be a better choice.
>>
>>I enjoy sample problems. Every time I try to come up with something on
>>my own I think of ideas that are way too complicated. Does the book
>>version of pcl have samples in it that are not posted online?
> 
> 
> I'm a newbie but I have looked at the lisp literature lately with the
> intention of learning lisp, so here is my newbie perspective.
> 
>>From what I understood, what made lisp quite different from other
> languages back in the days and what still makes it ahead of others with
> the rest of the industry's languages becoming more 'lispish' with time
> as they evolve is that lisp, from the start, was based on a different
> computational theory, namely, lambda calculus.
> 
> Learning lisp itself, the language, is trivial. What's not so trivial
> is learning to think in terms compatible with the lambda calculus
> theory of computation, the basis for functional programming languages,
> as opposed to turing machine computation which is the widespread
> computational theory behind C and most of the 'procedural' languages
> used in industry.
> 
> That's why learning, say, perl for a C programmer could be as easy as
> reading a book, they're based on the same theory of computation, but
> lisp is a whole different game.
> 
> That's also why the more I read the more I found it wiser to go to the
> simplest basics, and not be ashamed about it. Requires a little
> patience, in fact, perhaps a lot of patience, but it seems best.
> 
> Here are some observations I made on some lisp literature
> 
> - Brian Harvey calls SICP the best computer book ever written, and this
> reputation is echoed widely, in fact, it was the first one recommended
> to me by the fine folks of this newsgroup when I first asked here.
> This, though, is a scheme book, not a common lisp one.
> - However, SICP is a little advanced, and hence, I came across a Brian
> Harvey co-written book called 'Simply Scheme', which is explicitly
> written to prepare the reader for SICP; "Our book was inspired by
> theirs, and our main goal in writing this book has been to prepare you
> for that one."
> - Brian Harvey has also written a book 'Computer Science Logo Style'
> that seems a good, gentle introduction to prepare the reader for the
> "Simply Scheme" book.
> - All the above 3 are MIT Press books
> - There is also a free book on ibilibio called "How To Think Like A
> Computer Scientist Logo Version" that is based on Brian Harvey's
> "Computer Science Logo Style" - it seems lighter than BH's book so
> could be an introduction to it.
> - After Simply Scheme and along with SICP there's also MIT's HTDP.
> - As needed I will read the lambda calculus and functional programming
> theory literature if there is anything more basic to the above.
> - After undrestand functional programming and lambda calculus I could
> finally learn common lisp itself, at that point it will perhaps be much
> easier. Reading Practical Common Lisp and also Successful Lisp as
> introduction books, as well as ANSI Common Lisp or Common Lisp the
> Language, 2nd Edittion as reference books.
> - Paul Graham's "On Lisp" is an advanced book, this will perhaps be one
> of the last I read.
> - Either after that I will look at topic that interest me such as Lush
> and Dylan.
> 
> 
> The above will likely take years, or at least many months. Those books
> will require careful, thoughtful reading, and a lot of contemplation
> and patience and practice. But so far this is my impression of what may
> be the best course.
> 
From: ············@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132512148.113448.96860@f14g2000cwb.googlegroups.com>
Geoffrey King wrote:
> Wow, *i* would never learn that way. Sounds very 19th century. I would
> approach it from the opposite manner, which thematically would be: what
> i am trying to do dictates what i learn. By programming analogy its top
> down.
>

Well I must ask for forgiveness for seeming to argue with you guys,
after all, you're far more knowledgeable, but I have the newbie
perspective for the time being.

Yes, I would learn Gawk or Tcl-sqlite that way, and I am. After all,
there's not much to them. But Lisp is a little different, I found. From
what I read so far, according to Paul Graham, It's a "bottom-up"
language, not a "top-down" one.

I would learn some industrial language that was designed to do a
specific thing that "top-down" "only-what-I-need" way, but Lisp it
seems was designed to be an implementation of a universal computation
theory, namely lambda calculus.

I don't have anything immediate that I need to do with lisp, do I
really need to learn it in 10 days? No, I really don't, I'd rather
learn it in ten years, and if after a year I find that I had learnt it
'all', and by 'all' I mean all I want out of it, i'd rather be suprised
rather than be cursing that it should've taken me ten days.



>
>
> ············@gmail.com wrote:
> > ajones wrote:
> >
> >>After spending a bit of time looking at it I am really interested in
> >>learning lisp. Out of what I have seen Peter Siebel's "Practical Common
> >>Lisp" and Paul Graham's "ANSI Common Lisp" seem to be the biggest
> >>recommendations. I have liked what I got out of pcl so far reading it
> >>on line, but I was wondering if graham's book would be a better choice.
> >>
> >>I enjoy sample problems. Every time I try to come up with something on
> >>my own I think of ideas that are way too complicated. Does the book
> >>version of pcl have samples in it that are not posted online?
> >
> >
> > I'm a newbie but I have looked at the lisp literature lately with the
> > intention of learning lisp, so here is my newbie perspective.
> >
> >>From what I understood, what made lisp quite different from other
> > languages back in the days and what still makes it ahead of others with
> > the rest of the industry's languages becoming more 'lispish' with time
> > as they evolve is that lisp, from the start, was based on a different
> > computational theory, namely, lambda calculus.
> >
> > Learning lisp itself, the language, is trivial. What's not so trivial
> > is learning to think in terms compatible with the lambda calculus
> > theory of computation, the basis for functional programming languages,
> > as opposed to turing machine computation which is the widespread
> > computational theory behind C and most of the 'procedural' languages
> > used in industry.
> >
> > That's why learning, say, perl for a C programmer could be as easy as
> > reading a book, they're based on the same theory of computation, but
> > lisp is a whole different game.
> >
> > That's also why the more I read the more I found it wiser to go to the
> > simplest basics, and not be ashamed about it. Requires a little
> > patience, in fact, perhaps a lot of patience, but it seems best.
> >
> > Here are some observations I made on some lisp literature
> >
> > - Brian Harvey calls SICP the best computer book ever written, and this
> > reputation is echoed widely, in fact, it was the first one recommended
> > to me by the fine folks of this newsgroup when I first asked here.
> > This, though, is a scheme book, not a common lisp one.
> > - However, SICP is a little advanced, and hence, I came across a Brian
> > Harvey co-written book called 'Simply Scheme', which is explicitly
> > written to prepare the reader for SICP; "Our book was inspired by
> > theirs, and our main goal in writing this book has been to prepare you
> > for that one."
> > - Brian Harvey has also written a book 'Computer Science Logo Style'
> > that seems a good, gentle introduction to prepare the reader for the
> > "Simply Scheme" book.
> > - All the above 3 are MIT Press books
> > - There is also a free book on ibilibio called "How To Think Like A
> > Computer Scientist Logo Version" that is based on Brian Harvey's
> > "Computer Science Logo Style" - it seems lighter than BH's book so
> > could be an introduction to it.
> > - After Simply Scheme and along with SICP there's also MIT's HTDP.
> > - As needed I will read the lambda calculus and functional programming
> > theory literature if there is anything more basic to the above.
> > - After undrestand functional programming and lambda calculus I could
> > finally learn common lisp itself, at that point it will perhaps be much
> > easier. Reading Practical Common Lisp and also Successful Lisp as
> > introduction books, as well as ANSI Common Lisp or Common Lisp the
> > Language, 2nd Edittion as reference books.
> > - Paul Graham's "On Lisp" is an advanced book, this will perhaps be one
> > of the last I read.
> > - Either after that I will look at topic that interest me such as Lush
> > and Dylan.
> >
> >
> > The above will likely take years, or at least many months. Those books
> > will require careful, thoughtful reading, and a lot of contemplation
> > and patience and practice. But so far this is my impression of what may
> > be the best course.
> >
From: Geoffrey King
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <4380ff6b$0$17707$afc38c87@news.optusnet.com.au>
Don't get me wrong i am envious of your bottom up approach - i am a 
superficial guy and just like to see programming outcomes as i learn.

BTW, just because the langauge is bottom up doesn't mean the learning 
processes should be.

[snipped]
From: Tagore Smith
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1132986290.283055.197810@f14g2000cwb.googlegroups.com>
············@gmail.com wrote:
> Geoffrey King wrote:
> > Wow, *i* would never learn that way. Sounds very 19th century. I would
> > approach it from the opposite manner, which thematically would be: what
> > i am trying to do dictates what i learn. By programming analogy its top
> > down.
> >
>
> Well I must ask for forgiveness for seeming to argue with you guys,
> after all, you're far more knowledgeable, but I have the newbie
> perspective for the time being.

Well, as long as you qualify your statements that much, I doubt anyone
will hold them against you ;).

> Yes, I would learn Gawk or Tcl-sqlite that way, and I am. After all,
> there's not much to them. But Lisp is a little different, I found. From
> what I read so far, according to Paul Graham, It's a "bottom-up"
> language, not a "top-down" one.

Languages aren't really "bottom-up" or "top-down", for the most part.
Some languages support one style of programming better than they
support the other, according to some people (and in some cases there is
little room for argument- Forth is a good example).

Even if that weren't the case, I'm not sure that a language being a
"bottom-up" language would imply that it should be learned in a
"bottom-up" fashion.

> I would learn some industrial language that was designed to do a
> specific thing that "top-down" "only-what-I-need" way, but Lisp it
> seems was designed to be an implementation of a universal computation
> theory, namely lambda calculus.

This winds up not being that relevant to learning to use CL, in
practice. CL is a descendant of McCarthy's original work, but a lot of
water has gone under the bridge since then. Remember that McCarthy
doesn't seem to have intended that his language actually be
implemented. Or just go look at some early Lisp (LISP, actually), and
compare it to recent code.

People who program professionally, and expect to be taken seriously,
should know something about the theory of computation, no matter the
language they program in. Amateurs can be forgiven for not knowing much
about the theory, as long as they don't pretend that they do (in which
case they should be shot at dawn, and buried without ceremony).

I don't believe that learning to program in CL requires more theory
than learning to program in PHP.

> I don't have anything immediate that I need to do with lisp, do I
> really need to learn it in 10 days? No, I really don't, I'd rather
> learn it in ten years, and if after a year I find that I had learnt it
> 'all', and by 'all' I mean all I want out of it, i'd rather be suprised
> rather than be cursing that it should've taken me ten days.

OK, first, I wish you wouldn't top post. There are some points I'd like
to make in context, and I just can't do that, given your post, without
cutting and pasting people's words in ways that would be unfair to
them, arduous, or both. Please don't be offended, as I mean this in the
kindest way- just don't top post in the future. Trim what you aren't
responding to.

Anyway, I thought that the analogy with learning Japanese made
elsewhere in this thread was interesting. I have always liked learning
foreign (to me, of course) languages, and I am particularly interested
in ways to accelerate that learning. Japanese is my current project,
and also a testbed for my "theories" (I put that in quotes because I
lack qualifications in the field of language acquisition- my theories
on the subject may be the equivalent of the theories proposed by
devotees of perpetual motion). I would like to see if I can pass the
JLPT 2 given one year of study in my spare time (I already speak and
read Chinese a bit, which helps with the kanji, and the cognates)- so
far I think I am on a very good pace to do that, and I may even decide
to take JLPT 1 next fall (the test is administered once a year).

I'm generally suspicious of arguments from analogy, and I think that
learning a programming language is very different from learning a
spoken language. I do think that there is some carryover from what I
know about human language acquisition though.

I think it's best, when learning a new language, to approach it from a
few different directions. So, in studying Japanese, I make sure to
watch a lot of Japanese media, with subtitles,  listening carefully to
the spoken language, but I also make sure to read texts on Japanese
grammar that are way over my head. I don't push too hard, with the
latter. If I fail to understand something after a few minutes, I move
on. I also make sure that I go back a while later and skim again.

Each time, a bit more sticks, and I can read dense tomes quickly, since
I aim only at understanding what is accessible to me. I also take the
middle road- I read textbooks meant for English speaking students of
Japanese, but I do not treat them the way that a student preparing for
an exam would. The results, so far, are encouraging. I understand
spoken Japanese as well, after a month or so, as I understood spoken
Chinese after taking intensive classes, at a good University, for a
year or two- my  vocabulary is, of course, smaller, and I can't speak
well yet, but it is encouraging.

I'd suggest a similar approach to learning Lisp. Immersion works, and
it is most important to have the same information presented repeatedly
in different contexts. Don't read Text #1, Text #2, and Text #3 in
order, waiting till you understand everything in a given paragraph to
advance to the next. Get each, and read them repeatedly, in order, out
of order, etc., letting each reinforce the lessons of the other. At the
same time, write programs in CL, even if they are trivial at the
beginning. And don't decide that a given attribute of the language is
stupid until you understand it from all angles.

So, my recommendation for intro lisp texts is: all of them, from the
simplest to the most complex. Also, there are a number of systems out
there, written in CL, that do useful things. Read the code, but don't
worry if you only understand parts of it right now. Come back and
reread it in a while- you will understand more.

If I had to suggest a progression for a smart, experienced programmer
who wasn't familiar with any variant of Lisp, I'd suggest this order:

1) Paul Graham's ANSI Common Lisp.

2) The first few chapters of OnLisp, also by Graham, and free in pdf
format- stop when you get to where he talks about gensyms- I believe
that is chapter 10. Finish it later- there is no reason for you to
worry about the things in later chapters right now, as they are quite
advanced, but it wouldn't hurt you to skim those chapters.

3) PAIP, by Norvig. Great book.

If you find this order tricky, then "A Gentle Introduction...." is
probably appropriate. It progresses very slowly, and explains things
that most programmers should probably understand already, but that many
actually don't. I was unable to get past the beginning- too slow, too
basic. If you are new to programming, as well as CL, this might be a
good place to start.

Practical Common Lisp is a good book to read while reading the others,
if you want to use CL to accomplish the kinds of tasks that people
usually use "scripting" languages for. It is well written, and fills a
very important gap, but it will be out of date in the near future, in
my opinion. So will everything on the O'Reilly bookshelf, so I don't
mean that as a serious criticism; just an observation. I tend to prefer
the "timeless classics", but there's no doubt that writing and
publishing PCL is a virtuous act.

SICP is wonderful, but it is written around Scheme, and the first
chapter requires more math than most newbie programmers have. Slog
through, it's worth it. You will uinderstand Lisp- well not Lisp
precisely, but... well, call it Lisp for now, better after
understanding the parts about metacircular evaluators. SICP is really
more of a book about thinking about programming than it is a book
specifically about any Lisp, let alone CL.

HtDP is another book I couldn't get through because it was too basic.
It seemed very good though, for people learning to build systems.

So- very long post, responding to a fairly old post. Sorry about that.
I hope someone finds it helpful.
From: ·········@gmail.com
Subject: Re: Opinions on intro lisp books
Date: 
Message-ID: <1133562720.129907.231120@f14g2000cwb.googlegroups.com>
If you want to start with very trivial exercises, try this one:

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

And do all the exercises you can. They are really easy at first and
will give you a hands on experience that other approaches will not.

It's the easiest book I found to learn lisp, and it is pretty complete
too. I really think it's a very understimated book.