Live data from Hacker News

Ask news.YC: For the lisp experts - tell me how you learned the language.

news.ycombinator.com

1–10 of 22 posts

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#2
I'm no expert, but I'd suggest two things.

First, while learning recognize the tricky learning curve and keep poking at complex material as you learn. Macros especially feel dense and frivolous before you see them in action. I'd suggest On Lisp both for being full of excellent examples and free. If you're looking at Scheme, then keep SICP by you at all times.

Secondly, more so than in other languages, code to learn. Lisp's parentheses are a turn off to everyone until they reach some critical mass of application and understanding.

Learning Lisp reminds me of learning Chinese: the very medium you write with is vastly different from the norm and rather complex, but as you get into it you learn that there is a whole lot of sense to it.

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#3
post #2

I'm no expert, but I'd suggest two things. First, while learning recognize the tricky learning curve and keep poking at complex material as you learn. Macros especially feel dense and frivolous before you see them in action. I'd suggest On Lisp both for being full of excellent examples and free. If you're looking at Scheme, then keep SICP by you at all times. Secondly, more so than in other languages, code to learn.…

I would also suggest keeping the Scheme spec, R5RS, around too.

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#6

There was a book by Hofstadter (of Godel, Escher, Bach fame) which has a nice introduction. Perhaps the book was called Metamagicum.

Are you referring to Metamagical Themas? That book is a collection of columns he wrote for Scientific American, and only a couple of those have anything to do with Lisp.

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#7
I happened to learn it bottom-up. One day when I was in college, I picked up a book about implementing a Lisp interpreter in C. I knew C, Pascal and Fortran back then, but nothing about Lisp except it's a language for AI with full of parentheses. I was more curious about writing-an-interpreter-in-C part rather than Lisp itself. At home I typed the C source into my 386 DOS machine, and immediately fascinated by how the simple fundamental idea enabling such a rich language. (The book is in Japanese and I think out of print. Probably there are similar books in English, though I don't know).

Then I went on to reading existing Scheme/Lisp implementations and start hacking it. Aubrey Jaffer's SCM gave me a good idea of run-time data representations of Scheme and a simple mark-sweep GC. I learned how to compile Scheme code by looking the output of Joel Bartlett's Scheme->C. STk (now stklos) showed the power of CLOS-style metaobject protocol by mapping Tk protocol to Scheme object cleanly like a magic. Other implementations I looked at was T, VSCM, Scheme48, ...

I also started writing tools I use at work in Scheme. Solving real problems is, after all, the best way to learn the language.

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#8
The book, "The Little Schemer" is the absolute best and fastest way to break your mind of its old habits and get into lisp programming. Try to write each piece of code before looking at the answer. (Use PLT Scheme.) Afterwards, your freshly broken mind will be ready for all the other concepts that are also important to lisps.

"On Lisp" is great whether you go with Common Lisp or Scheme. I actually tried to learn Common Lisp from scratch with that book, and I slowly slogged my way through five chapters. I got a lot out of it but it would have been better had I learned what car, cdr, mapcar, etc. meant first. Maybe you could try that.

Any time you can get away with writing something in Scheme (or CL, whatever) do it. Just code with it all the time.

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#9
post #7

I happened to learn it bottom-up. One day when I was in college, I picked up a book about implementing a Lisp interpreter in C. I knew C, Pascal and Fortran back then, but nothing about Lisp except it's a language for AI with full of parentheses. I was more curious about writing-an-interpreter-in-C part rather than Lisp itself. At home I typed the C source into my 386 DOS machine, and immediately fascinated by how th…

There's a great article on learning Haskell by writing a Scheme interpreter:

http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutoria...

Re: Ask news.YC: For the lisp experts - tell me how you learned the language.

#10
I picked up the language after running sawfish as a window manager. This took me to emacs and from there to Common Lisp. I can highly reommend 'A Gentle Introduction To Symbolic Computation' if you are new to programming and 'Practical Common Lisp' if you aren't new to this field. If you follow that up with 'On Lisp' and (optionally) 'Lisp In Small Pieces' you cant go wrong.
Post reply on HN