Hacker News new | ask | show | jobs
by jwr 4750 days ago
You do need to try using Emacs and nrepl. Actually, the best thing would be to watch an experienced lisper work.

It's not just about the REPL and syntax highlighting. You need to see someone use paredit (things like paredit-raise-sexp or paredit-forward-slurp-sexp), evaluate expressions in-place (either seeing the results in the minibuffer or inserting them into the code), use M-. to instantly jump to anything that is defined in the active runtime, etc.

As for debugging, the Clojure experience is pretty bad, compared to (for example) Common Lisp. I'm experienced and use Clojure every day to write large applications, but I still stick to logging for most debug work. And yes, backtraces are horrible.

2 comments

> Actually, the best thing would be to watch an experienced lisper work

This is what I've been looking for, but I don't know any experienced lispers, which has left me with a huge hill to climb to migrate from CCW to Emacs. Are there any annotated videos (i.e., showing keypresses) available showing lispers at work?

There are a few videos on youtube, but probably best to check out the hack emacs and emacs rocks videos.

Just like Clojure, getting over the intimidation factor of Emacs is 90% of the battle. It takes a few weeks of self-enforced daily use to get your brain around Emacs, but once you do, you'll find that it is well worth the effort. Then you discover how the other major modes work and there is simply no going back.

I would suggest just getting acclimated to using the basics navigation keys, then when you find yourself using the mouse too often for some certain task, look up the hot key to do that task.

I started up by learning:

C-f, C-b, C-p, C-n, then:

M-f, M-b, then:

C-a, M-a, C-e, M-e, then:

C-[space], C-w, M-w, C-y

It really is a slow process of learning a few keys at a time, but you'll find that once you understand the mnemonics and get your muscle memory in line, you'll find that you can learn several key-bindings quickly. The initial hump is sort of steep, but then it goes really fast.

...and at the risk of turning this into a lengthy "how (I think you should) to learn Emacs" thread, learn the help commands. _How_ to look up the hot key, how to look up the documentation for a key sequence, etc.

Once you have your head around how Emacs works, and that it's self-documenting and you can dig into it, the path gets a lot smoother.

There is also Marco Baringer's screencast on using slime to work with common lisp: http://www.youtube.com/watch?v=_B_4vhsmRRI
Can you recommend any good videos? :)