Found in 1 comment on Hacker News
lkrubner · 2010-10-14 · Original thread
Folks looking for a practical place to start with Lisp should consider using the Emacs editor. I just recently went down this road myself. I am now a huge fan.

For about 6 months in 2006 I made Emacs my default editor. (Xemacs, actually). But I did not learn Lisp, at that time, and there are other IDE's out there that have a nicer GUI. So I started using simple text editors like Kate, and then sometimes NetBeans.

And yet, for years, I've been wanting to work with a fully scriptable editing environment. I often have the need to grab a large amount of text data, transform it in various way, and save the finished product. I kept thinking that at some point I would learn sed and awk, but I never got around to it. Usually, if I needed to make some quick changes to text, I'd write a one-off PHP script to do what I needed.

Then I got interested in Clojure, and through Clojure I got familiar with Lisp's syntax.

Then it occurred to me to go back to using Emacs. So now it is my main editor, again, my default programming environment. I use it for everything. And I've learned Emacs Lisp. Every single day, the combination of Emacs and Lisp helps me be more productive.

Way back in 1999, I started to learn PHP. One thing that made PHP easy to learn, back then, was that I did not need to compile it. I only needed to put it on a server running PHP, and that was most servers. It was an easy programming environment to step into.

Lisp is like that when you are working in Emacs. You can write a line of Lisp anywhere you like, then invoke it with a special key command. You can write quick one-off scripts to move text around inside a file. Or, if you like some code and want to reuse it, you can just save it as a function and put it in your .emacs file and then that function is available to you whenever you are running Emacs.

I have heard of Emacs greatness since at least 1999, and yet somehow, not till this year did I dive deep and learn both it and Lisp. I realize now, everything that people have said about Emacs over the years, it really is true - to have a programming environment where every element of the environment can be programmed and re-programmed using the language of the environment gives you an extremely powerful tool.

If anyone is looking for a simple place to get started with Lisp, I would say, simply, use Emacs. We all need to edit stuff, and so your work will provide you with a practical place to practice your Lisp, everyday.

Those of you who prefer some kind of GUI, look into Xemacs. It can be set up to respond to your mouse-clicks.

Also, if you'd like to learn about Emacs and Lisp, the book that Robert J Chassell wrote is a very good introduction:

Fresh book recommendations delivered straight to your inbox every Thursday.