Links to other sites
Lisp: the programmable programming language

Where to start with the Lisp language

If you're asking why lisp?-- or If Lisp Is So Great, why don't more people use it?-- I offer my personal answer, direct you to the back cover of Practical Common Lisp, a well respected study of languages and of course, Paul Graham's much discussed 2002 essay.

If you question Lisp's speed or power, these have long been addressed. As with anything, the more you know (and can get out of your own way), the better you become. Books mentioned below can help you get there.


On-line Book: Practical Common Lisp -- HIGHLY RECOMMENDED
by Peter Seibel; © 2003-05; Although free on-line, the hardcover edition is still worth the price! 1-59059-239-5

Peter does an excellent job presenting Lisp for contemporary tasks and offers appropriate comparisons to Python, Perl, Java, C++ and other languages.

This is by far the best book, especially if you've already learned the basics in college or from an embedded version such as Emacs Lisp or AutoCAD's AutoLisp.

Peter Seibel has performed a wonderful service by making his book free to read on his website. His many contributions are making Lisp accessible to the mainstream again.

Book: ANSI Common Lisp
by Paul Graham; © 1995; 65-0133708756-1

The last 100 or so pages are the closest thing to an O'Reilly pocket reference that you're likely to find.

While I highly recommend his essays, this makes for a better second book by today's approach to learning languages. Once beyond the basics, it's beneficial having more than one source of information.

After he releases Arc, we can probably expect a new book, one hopefully as much a pleasure to read as Hackers & Painters.

On-line book: On Lisp
also by Paul Graham; © 1993

It's still very much contemporary, despite predating the final ANSI spec of the following year. In fact, it comes highly recommended by seasoned Lisp programmers as the book for learning advanced macro wizardry.

After doing the occasional search for specific content and finally reading this fine book cover-to-cover, only now do I have a profound appreciation for it. However, I still place this as a third book to get for when you're ready.

Paul Graham clearly and gracefully explains things like what all the fuss about "functional programming" really means within context as well as revealing idiomatic usage, so it's like having a Lisp hacker at your side!

This is truly a gift to the community!

On-line book: Successful Lisp: How to Understand and Use Common Lisp
by David B. Lamkins, © 2003 (Forward by Richard P. Gabriel) 3-937526-00-5
Top references to Lisp books
...as discovered by Google Directory
Other Lisp books
Those published prior to the mid-1990's are cataloged at the old Lisp FAQ: 1.3 and also worth noting is Structure and Interpretation of Computer Programs [Scheme]. There are many other wonderful and worthwhile books such as a couple from Peter Norvig. By the time you're ready, you'll know and will find them.

Try: interactive Lisp via Telnet
This is free access to Allegro Common Lisp! (Alternatively, use the Java applet)
Better yet, use it while following this wonderful tutorial on Lisperati.
Browse: The Common Lisp Cookbook
A collection of software techniques in Lisp. (This is not yet an actual book-- just a repository of code.)
Download: Common Lisp Open Code Collection (clocc)
Download: Lispbox
a special version of Lisp in a Box with Emacs pre-configured sufficient for learning (but be aware that certain features may be disabled to avoid confusion while working through examples in the book).
Dynamic Learning Center
for teachers and students
Usenet News: comp.lang.lisp
via google
There is a new Lisp FAQ
This is a work-in-progress, circa 2006-07. For introductory issues, read about Lisp myths & legends from LispWorks.
Common Lisp engines, advocacy and education, circa late 2007

History & Standards

Optionally:
Since many of us weren't there as Lisp itself was being developed, learning the history is helpful in understanding why things are the way they are such as naming conventions, etc. Continue reading if you're interested in such matters...
Start with this Gabriel and Steele article: The Evolution of Lisp
A short version may be found as a chapter of History of Programming Languages II.
CDR: watch postmodern Lisp standards as they take form
Common Lisp Document Repository
ANSI Common Lisp standards: NCITS/J13 Document Repository
NCITS/J13 is the InterNational Committee for Information Technology Standards (NCITS) technical committee for Lisp. J13 maintains the ANSI standard for Common Lisp.
For historical purposes: notes from the 1994 ANSI X3J13 standards process
Common Lisp the Language, 2nd Edition (CLtL2)
Warning: this was published while ANSI Common Lisp committee was still working, so some things changed; See Converting CLtL2 to ANSI CL
ANSI and GNU Common Lisp Document
Partial history of Emacs
Jaap Weel's Lisp machines page
Features documents on early Lisp-based computers, among many other things.

Jobs-- employers & employees

How marketable is Lisp as a programming language skill?

  LISP   (n.b., it's no longer written in all caps.)
Please write "Lisp".
Anyone using the former notation in the twenty-first century probably only used the language in college for one or two classes; regardless, it's a clue that their Lisp understanding and/or skills are outdated.

PS -- While you can use it as merely a substitute for just about any language, it's best to learn the Lisp idioms for efficiency, readability and reuse. As someone who knew Perl and Java, was able to adopt Python and start writing production code after a day or two, you may find it takes a year to reach an equivalent level of proficiency with Common Lisp.

The learning curve can be fierce, but you're probably learning Lisp, Emacs, SLIME, how to interpret the HyperSpec and where to find libraries, all at the same time.

There's no magic pill to bypass the learning curve; there's no need to modernize Lisp's syntax; there's a strong and valid reason why libraries standard in other languages are effectively rewritten by each Lisp hacker; and when you're about one year into progressively deeper Lisp development, you'll understand, appreciate and relish the reasons why! That's a good place to be, and this page is to help you get there.

Content on this page last updated 2009-12-06; URLs verified 2009-07-05