Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to go about learning Common Lisp and Emacs Lisp?

The last few months I've been using Emacs extensively as my main development environment and I've now come to a point at which I'd like to learn it's own Emacs Lisp to write my own little stuff for Emacs and extend it to my personal needs.

Having said that I've also wanted to learn Common Lisp for a while now, to play around with and explore a new language. My question is, where should I start from? Will Emacs Lisp give me the necessary knowledge to pick up Common Lisp later more easily or the other way round? I'm basically interested in the efficiency of each path so as to minimize the learning curve when I finally decide to move from one dialect to the other.

like image 761
serk01 Avatar asked Oct 01 '10 15:10

serk01


People also ask

What is the best way to learn Lisp?

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.

Is Emacs Lisp the same as Lisp?

By default, Common Lisp is lexically scoped, that is, every variable is lexically scoped except for special variables. By default, Emacs Lisp files are dynamically scoped, that is, every variable is dynamically scoped.

Is the Common Lisp hard to learn?

Lisp isn't hard to learn. It can be taught poorly, and it does have some "high level" concepts, especially if you're coming from the imperative "classic" programming world.


1 Answers

Start with Emacs Lisp (given that you seem to have already started customizing your emacs) - it seems to be more immediately useful for you.

Do keep in mind that there is quite a bit of difference between Emacs Lisp (there is a lot of buffer management stuff, especially in the code you're likely to see in the wild) and Common Lisp (more similar to a general purpose programming language), so which ever route you take, expect some amount of "wastage"

like image 129
Rohith Avatar answered Sep 28 '22 08:09

Rohith