Real world Clojure
tech.puredanger.com
tech.puredanger.com
It is worth doing, especially if you've never used another integrated Lisp environment, but I wouldn't recommend laying it on top of learning Clojure. I'd say learn Clojure first, then try out emacs and the emacs integration.
There are several heavyweights in the Clojure community that use VIM and have developed good plugins, and Rich never seems to be using SLIME during presentations, so you can definitely get by fine without it.
http://jaydonnell.com/blog/2011/10/07/setting-up-aquamacs-fo...
The steps are pretty much the same for regular emacs, you just need to put things in ~/.emacs.d/ instead of ~/Library/Preferences/Aquamacs\ Emacs/
The one that drives me really crazy is that on Lion, both Emacs freak out if you try to resize from from anywhere except the bottom right corner. Similar issues with the green (+) button; full screen mode, etc.
Also, since you'll probably remap cmd to meta, you lose some system shortcuts which can be convenient when switching back and forth between various apps and your brain can't keep all the shortcuts straight.
(global-set-key (kbd "A-j") 'find-file)
At minimum, you need a easy way to paste top-level forms into a repl. This is the simplest way for Vim: http://www.vim.org/scripts/script.php?script_id=3023 That script is actually crazy useful & I now use it for a whole bunch of different use cases.
That said, the Emacs->Slime<->Swank<-Clojure bridge is really much better & think that I'm going to invest some more effort into becoming proficient at Emacs. My limited experiments with Slime were very positive & nothing in the Vim world even comes close. I tried all the various attempts in their current form as of two weeks ago. Most are hard to get running, don't work exactly right, struggle with subprocesses management, etc. And you're totally on your own with those, no warrantee and no maturity.
might be better
See this video for an overtuned (!) Emacs https://github.com/overtone/live-coding-emacs
The configuration can be found here: https://github.com/overtone/live-coding-emacs
Pretty good clojure and coffeescript modes.
"In the area of query planning and optimization, I found that at some point I hit a wall with what I could do in Java. There was latent abstraction that I understood but could not express in the code."
I'm not sure that convinces me to try Clojure. To me less typing is great, but only if it still makes sense and I don't have to come at it a few ways before I get it right. That is probably why I never took to Perl. It just looks like garbage and I couldn't get past that.
It has the side-effect of teaching you to think through your ideas more (wait, I thought we were supposed to avoid side effects! ;) )
Never had any issues playing around with or reading others emacs lisp macros though. After the initial within within brain fuck part is over at least.
He's talking specifically about writing _new_ code. I think the implication here is that Clojure encourages more consideration up-front, resulting in designs that are easier to modify down the road.
Given how much time is spent maintaining code vs writing new code this seems like a reasonable trade-off.
So I do less up-front design, but wind-up with somewhat better code at the end.
The other weird effect is that I find that this helps me think better about coding in something like C as well. A little experimentation at the REPL helps me understand pieces of the solution better.