What's the best way to learn LISP? [closed]
Asked Answered
P

22

178

I have been programming in Python, PHP, Java and C for a couple or years now, and I just finished reading Hackers and Painters, so I would love to give LISP a try!

I understand its totally diferent from what i know and that it won't be easy. Also I think (please correct me if I'm wrong) there's way less community and development around LISP. So my question is: what's the best way to learn LISP?

I wouldn't mind buying books or investing some time. I just don't want it to be wasted.

The "final" idea would be to use LISP for web development, and I know that's not so common so... I know it's good to plan my learning before picking the first book or tutorial and spending lots of time on something that may not be the best way!

Thank you all for your answers!

edit: I read Practical Common Lisp and was: ... long, hard, interesting and definitely got me rolling in Lisp, after that i read the little schemer, and it was short, fun and very very good for my overall programming. So my recommendation would be to read first the little schemer, then (its a couple of hours and its worth it) if you decide lisp(or scheme or whatever dialect) is not what you where looking for, you will still have a very fun new way of thinking about recursion!

Papistry answered 29/12, 2008 at 20:36 Comment(2)
Common Lisp: An Interactive Approach. Old (1992) book by Stuart Shapiro. Used to be dead tree only, but in recent years available in electronic form.Cadency
Common LISPCraft by Robert Wilensky is an interesting, if old, book. I have a hard copy, dated 1986.Cadency
E
118

Try reading Practical Common Lisp, by Peter Seibel.

Elouise answered 29/12, 2008 at 20:38 Comment(5)
I think I saw that book at my campus... so ill go pick it up right now!Papistry
Don't forget about the REPL! I haven't used what I learned about LISP, but it made me a much better programmer in all other languages.Ian
highly recommend it, this was the book we used for my AI class to teach us LISP for our projects.Lactate
DFectuoso - it's not just a link about the book, it is the book. Start reading the book onlineThirtyone
Yea i know but i dont like reading in the monitor... anyway i picked this to be the answer coz i started reading the book and it is good(im over half of it and then ill read the little schemer, will edit this when i finish both =0 )Papistry
K
76

My personal favorite is Abelson & Sussman Structure and Interpretation of Computer Programs. It uses Scheme, which is a nice and clean dialect of Lisp.

If you like a more practical approach maybe you should pick some Lisp framework for web design (I have no idea if such a beast exists) and jump right in.

Killdeer answered 29/12, 2008 at 20:47 Comment(2)
Paul Graham has a lisp web framework called arc.Alexandro
I believe Arc is its own dialect of Lisp, not just a framework. paulgraham.com/arc.htmlCochleate
L
59

You might want to start with The Little Schemer as a warm-up. It's not a practical book about writing production Lisp programs, but it's a great book for learning how to think in Lisp.

Luwian answered 29/12, 2008 at 20:47 Comment(2)
That seems like a good and fast reading to start! TYPapistry
I would tend to disagree. Yes, diving into it may be the fastest way to learn Lisp, but it's also the most likely to turn people away. PCL has the advantage that experienced programs can start using Lisp from day 1, instead of just being mesmorizedThirtyone
B
44

MIT has made available an entire LISP course in DIVX and MPEG format. I highly recommend it.

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

Brazenfaced answered 29/12, 2008 at 21:21 Comment(6)
The lectures are based off their textbook, Structure and Interpretation of Computer Programs.Alexandro
I found the DivX videos to be of similar quality to the MPEG videos, even though they're a lot smaller. Save yourself the bandwidth and disk space.Barbiebarbieri
For even more disk space savings, go to link and search for "structure and interpretation" (using the quotation marks).Animalist
I going through the videos SICP. Which dialect are they using? They don't make any mention of dialect, they just call it 'LISP'...Libelous
@Libelous I know this question was asked 4 years ago but just to make it clear. They are using "Scheme".Claro
Note:- The videos relate to the first edition of the book. The book has a second edition and there are considerable differences between the two.Graiggrail
W
36

There is now a book out called 'Land of LISP' that teaches LISP programming through writing 80's style text games. I'm reading it now, and it's very well written and doesn't take itself too seriously, which I like.

Winch answered 27/12, 2010 at 17:2 Comment(0)
S
24

There are several options here. First of all, Scheme and Common Lisp are fairly different in rather deep ways (like scoping); you should pick one to start with and stick with it for a while. I'm a Common Lisp fan, but that may be one of those vi-vs-EMACS religious questions.

For Scheme, go for Kent Dybvig's Scheme Programming Language, followed by SICP.

For Common Lisp, as well as Practical Common Lisp, I'd recommend David Lamkins's Successful Lisp. Successful Lisp is also available online for free.

After than, look at Lisp in Small Pieces by Queinnec, and Norvig's Lisp in AI book.

Marty Hall has a nice list at Johns Hopkins.

Updated: I don't mean stick to it forever, just that trying to learn both at once would be confusing.

Schweinfurt answered 29/12, 2008 at 22:23 Comment(0)
O
19

Pick up The Land of Lisp by Conrad Barski. It is a fun filled introduction to Lisp programming using cartoons and games.

Oxen answered 15/9, 2011 at 5:23 Comment(0)
A
17

I'd recommend Project Euler as an excellent source of small bite-sized problems you can use to teach yourself any new programming language.

Antiknock answered 29/12, 2008 at 20:51 Comment(1)
Im allready a good participant of the Project Euler so yes, the time i spend there will be practicing LISP(once i learn how to do a couple of stuff)Papistry
T
9

Ansi Common Lisp by Paul Graham is a good book.

I think it might be out of print, so your best bet to get it via Amazon. I got the book for a "Natural Language Processing" class I took my sophomore year in college. We had to write the programing projects in LISP, and so I needed to learn Lisp quickly.

The book helped me quite a bit.

Tartrate answered 29/12, 2008 at 21:57 Comment(0)
M
9

Once I had a problem. I didn't know lisp. So I decided to download LISP in a box.

Then I found myself with an Emacs install without any help or documentation.

Then I had two problems.

March answered 30/12, 2008 at 6:41 Comment(2)
The problem here is that someone didn't tell you about the tutorial; press Control-H, release them, and press T. That will take you to a tutorial that will give you all you need to get started. Sorry to hear about your bad experience.Jon
+1 for referencing the old regex joke, but -1 for not being useful on top of it. :-PAnnmarie
F
7

For serious learners, I'd recommend PAIP from Norvig. It is an excellent resource to learn both Lisp and AI.

Forklift answered 4/2, 2009 at 4:17 Comment(1)
I second this, it's a great book, well-written and IMO more inspiring than Practical Common Lisp.Shutt
N
6

Berkeley offers CS61a in podcast format. This is an intro to CS class based around SICP. It's a more modern version than the 1982 videos MIT has available.

Nickolai answered 4/2, 2009 at 4:26 Comment(0)
E
6

I'm working my way through Lisp right now and have come across "the book" to learn Lisp. It was suggested by Rainer Joswig

The book is called Common Lisp: A Gentle Introduction to Symbolic Computation and can be downloaded as a PDF. The author begins with a UML like approach to Lisp in the first chapter and gradually introduces more and more Lisp syntax.

I've also looked at practical lisp and I think that the author glosses over a lot of required information, even for a seasoned programmer. This book doesn't seem to do that (I'm not completely finished, but have found it useful enough to suggest).

one more thing, you'll need an environment to work in. I've found Lisp in a Box to work well. It runs on Windows and Linux and uses eMacs.

Equanimous answered 10/3, 2009 at 13:42 Comment(0)
U
5

I've got attracted to LISP by its JVM dialect - Clojure. Clojure is sort of great LISP, since

  • it has "simplified syntax", that is less parathensis are required, there is cleverly design set of collections available
  • it is JVM based, so there is stable, performant runtime underneath, in addition whole Java ecosystem (libraries, e.g. database drivers, build tools, IDEs) is within our reach
  • Noir is a good web framework, apps can be deployed on Java web and applications servers

In other words, Clojure can be used in production right here, right now.

When it comes to resources, there are at least 4 books and planty online resources:

Utgardloki answered 8/11, 2012 at 10:49 Comment(0)
B
4

I enjoyed reading Practical Common LISP and ANSI Common LISP.

On LISP looks interesting, but at $190 seems a little expensive for a book.

Berryberryhill answered 29/12, 2008 at 20:41 Comment(2)
"On Lisp" is available freely from the author's website.Cloison
Here is the link to download On Lisp for free. LinkGraeco
W
4

For web development you might want to have a look at hunchentoot, a web server written in common lisp.

Whorled answered 29/12, 2008 at 21:38 Comment(1)
You know, its very sad to see all the webservers and frameworks around lisp that are web oriented... have ZERO design(css or even inline stylePapistry
S
4

I found working through the exercises in "The Little Schemer" really helped hone the recursive, pattern-matching side of my thinking and made working in XSLT considerably easier.

Sourwood answered 13/1, 2009 at 1:16 Comment(0)
T
2

I recommend Gentle Introduction to Symbolic Computation or Practical Common Lisp first, based on your programming experiences. For practicing, I use Allegro CL 8.2 Free Express Edition in Windows. It turns practicing into a lot of fun.

Twelvemonth answered 5/8, 2011 at 8:2 Comment(0)
T
1

Sort of a difficult question to answer ... I think it all depends on your learning style.

I learned LISP in my A.I. and Expert Systems classes in college, but that's how I learn ... I'm not a great book learner, I prefer to have someone explain it to me in a class setting.

LISP is definitely a unique language and it requires a new train of thought if you're used to conventional C, Java, PHP programming.

Best of luck to you !

Tie answered 29/12, 2008 at 20:40 Comment(0)
K
1

I found reading the book SICP really helped me learn. I used Steel Bank Common Lisp (SBCL) and had good success with it.

Good luck

Keenakeenan answered 29/12, 2008 at 20:49 Comment(2)
Thanks Im going to pick some books today and start very early tomorrow!Papistry
Note though, that SBCL is for Common LISP and the book is about Scheme. I didn't read it completely yet, but I think it can still be of great help for learning Common LISP. You just need to find the equivalents in Common LISP.Antelope
K
0

I don't know that there's anything special about Lisp that makes it different from learning any other language. You just need to start using it and trying out its features.

One option might be to try a simple project.

Another option, that's specific for Lisp, would be to write an Emacs extension that assists you in your regular work.

Kelter answered 29/12, 2008 at 20:45 Comment(0)
I
0

Read these books in order: Gentle Introduction to Symbolic Computation, ANSI Common Lisp by Paul Graham and then move onto Practical Common Lisp. Or skip ACL and use it as a reference while working your way through PCL.

Irritable answered 21/3, 2009 at 17:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.