Kevin McAllister on 12 Aug 2008 06:25:10 -0700


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[PLUG] Lisp Talk Response


I attended the PLUG north meeting last night and enjoyed Kyle Burton's presentation on Lisp.  I emailed him directly a question and we decided that the question and response may be of general interest, so here is what I wrote and his response:

Thanks for your talk last night.  Based on my prior experience with it and
what you said Lisp appears to me to be extremely densely packed with
valuable CS and programming-in-general insight.  It appears to me that
spending time learning would be comparable to the 6 months I spent writing
microcode for a Unisys mainframe IO controller.  In the way that while I was
doing it I got tremendous insight into just the general working of computers
which formed a base of knowledge I find extremely valuable today.  Based on
this I am considering investing some time in doing some stuff with Lisp.

You have a bunch of recommendations on your slides is there any that you
would consider as a good starting point versus the others?  I know based on
your long and storied dramatization slide that it may be hard to make such a
recommendation.  In my case I guess better than a guided tour would be a
comprehensive resource with maybe some examples for the advanced stuff. (of
course what's advanced right?)


Kevin,

Thanks for writing.  For just getting started, with Common Lisp, one
of the books is probably a good place to begin:

Peter Seibel's Practical Common Lisp

This is a good introductory book, it starts from basic premises and
works through a lot of practical examples, while showing you some of
the warts of the old language and at least introduces some of the
things which make lisp different.  I know there are examples of
macros, and I think also conditions and restarts.  PCL is probably the
best 'getting started' book of all the ones I've come across.  PCL
hadn't been written when I started pursuing Lisp, I wish that it had.

Part of the challenge that I experienced was that I had already had a
mental idea of computation that was based on having used C, C++, Perl
and Java when I started with lisp.  The new concepts didn't have a
corollary in the languages that I had previously used (things like
destructuring, pattern-matching, continuations, restarts and macros).
I had to keep working at them before I started to understand them.


The other books are good as well, but I wouldn't necessarily say you
should start with them.  PAIP is a great book about programming in
Lisp, but it isn't about Lisp, it's about AI -- but don't be
intimidated by that, if you can find a copy, in my opinion, it's well
worth it.  I didn't understand all the material the first time I read
through it and I've gone back to it several times and picked up new
things several times over the years since I've owned it.  On Lisp is
available for free (it's by Paul Graham and out of print), or from an
on-demand printer, Lulu:

 http://www.lulu.com/content/3060872

That print is only about $20, with shipping, so its a bargain.  On
Lisp is highly regarded in the Lisp community.  I bought a copy from
Lulu just last week.  It is supposed to have a great treatment of
macros - but I wouldn't recommend it as your first introduction to
Common Lisp.

There is a functional programming users group in Philly, Philly Lambda:

 http://groups.google.com/group/philly-lambda/

That might be worth joining.  There are other Lisp and Scheme
programmers in that group (including myself).

If you do get started and have questions, feel free to email or ask
questions, I'm sure I'll learn as much as you do from your questions!

Also, it might benefit the rest of the members of PLUG if we were
having this exchange over the list rather than privately.  If you're
comfortable we might want to move the discussion there (or Philly
Lambda).

Best Regards,

Kyle Burton

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug