This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I've been playing with Clojure for a few months now, running through the koans, and doing the quizzes on 4clojure etc, and I love the language (despite the struggle to get my head around FP). But I wonder about "proper" development tools, and was wondering what tools you use/would recommend?
For this audience - primarily Java developers interested in Clojure - I think the easiest approach is to simply pick up the Clojure plugin for your favorite Java IDE and work with that. I'm a heavy Eclipse user so I naturally picked CounterClockWise as my default Clojure environment.
I can fire up a REPL (Read-Eval-Print-Loop) directly inside Eclipse and run / experiment with code live in my editor, as well as loading and running entire files or parts of them. This allows for a very iterative approach to development, trying out different ideas and gradually evolving my application without leaving Eclipse.
As a build tool, I use Leiningen, which is a very Clojuresque wrapper around Maven, letting you define dependencies in a project.clj file, managing dependencies (via Maven), running tests, building JAR files and so on. Leiningen has a nice plugin architecture and there are quite a lot of useful third-party plugins available.