Clojure editor/IDE recommendations on Mac OS X
Question
I am starting to learn the Clojure programming language. Are there any recommendations for Clojure editors/IDEs on Mac OS X?
Update 2009-09-23: The Clojure space has changed tremendously since I originally posted this question. Many of the links below, especially those that refer to clojure-mode with Emacs, are out-of-date. The best Clojure IDE I found was the Enclojure Netbeans plugin which was recently released (2009-08-25).
Update 2010-04-30: Another very good article on this subject is Clojure IDEs - The Grand Tour by Lau B. Jensen. Also, for my own clojure development, I have actually moved to Emacs / swank-clojure.
OTHER TIPS
For setting up Aquamacs, Slime and Clojure, there's a screencast on lispcast.com:
http://www.lispcast.com/drupal/node/79 (broken link)
Edit: That's a nice alternate screencast you found Jman. I've added it to my answer so it's a bit more comprehensive.
Emacs+SLIME is going to be the most productive if you are going to be spending your time editing Lisp code and not doing much Java.
Paredit is also a must-have since it makes it almost difficult to insert invalid s-expressions. It takes a bit of getting used to, but it is emphatically worth it.
One of the "big 3" Java development IDEs is IntelliJ IDEA. It used to get less market share because it's not free as in beer. JetBrains is now providing a Community Edition of IntelliJ IDEA . I'm not a regular Mac user myself, but the OS X 'I use this' folks say it runs there too.
IDEA has a plugin called La Clojure, available directly from the plugin manager under "Settings," that makes Clojure development pleasant and productive.
Previously, I tried
- WaterFront, for which "IDE" is IMO a bit of a reach;
- Counterclockwise, a pretty good Eclipse plugin; and
- Enclojure, the NetBeans plugin.
but anticipate staying with IDEA and La Clojure
Rich Hickey uses Aquamacs in all of his demos. He has commented about this, saying that he switched to it after someone created a Clojure mode for Emacs. I have also created a Clojure mode for jEdit.
At the moment, tool support for Clojure is pretty limited. I think you're either stuck with some Emacs variant or jEdit.
If you go the emacs route, I highly recommend using clojure-paredit. Paredit takes some getting used to, but it really reinforces the "code is data" notion.
This is an old question, but the landscape of the Clojure tooling has evolved quite a bit.
Nowadays the options are :
- Light table, very easy to get started.
- IntelliJ + Cursive or La Clojure. Someone once recommended me Cursive.
- vim + fireplace. I know some very productive people use it.
- Emacs + CIDER and Paredit, my personal choice. Apparently Rich Hickey uses Aquamacs.
I personally learnt to use Emacs to use it with Clojure, although some may argue that learning two things at the same time is not a good idea.
There is a survey here regarding the popularity of IDE/Editors :
I dug around, and found this link to be very useful as well:
http://paulbarry.com/articles/2008/07/02/getting-started-with-clojure-and-aquamacs
Emacs Carbon with SLIME and clojure-mode works like a charm. I tried Aquamacs before and it feels too different from the command line emacs for me. I really don't like Terminal.app and after months fighting against it I decided to migrate to Carbon.
TextMate is a great editor and has a Lisp bundle, which will suffice for Clojure (there's also an in-progress bundle available here). I've always used TextMate + the Lisp bundle for writing Clojure code.
Light Table is pretty great; unfortunately I can't run it on my Mac because I'm stuck on OS X 10.6 and it requires 10.7+.
I've been using Light Table on another Mac and on several Windows computers – it's pretty nice.
[I used to help out with the open source project.]
Bill Clementson has updated his setup.
You may also try IntellliJ IDEA with La Clojure plugin.
I use Clojure on MacOSX for about 3 months. I am very happy with Emacs and use it for more an more tasks. The start was quite hard but now i would say it was worth the efforts to learn emacs. For IntelliJ 10 the La Clojure Plugin has been updated so that it should work now with Clojure 1.2.0 again.