While not reflective of the entire community, here's my suggestions. > > - Build tools: There seem to be things like ant, maven, leiningen. How > do they relate to each other? Is there an "obvious" best answer or > should I be expecting to check them all out depending on my needs? In > that case, are there any good comparisons around?
Honestly, for now, I would either go with Leiningen or Maven, with Leiningen probably having the most gentle learning curve. In the long run, I don't think there is a clear best answer, yet. > - Debuggers: Should I be assuming I use my IDE for debugging? What if > I stick to a basic text editor to develop my code? Is there a good > standalone debugger? You can use standard Java debuggers with your Clojure app. I won't pretend to be well versed in the practice, but I've tried it a few times with a few different debuggers with varying degrees of success. If you like Emacs, my best experience was with this: http://georgejahad.com/clojure/cljdb.html. Note that this just uses jdb under covers, jdb is java's bundled debugger. It's primitive, but it works. > - Profilers: Same sort of question - do IDEs offer this, are there > standalone tools? You can start with the bundled profiler, jvisualvm. I've used it a couple of times to track down performance bottlenecks and I felt it worked well. You can also get a trial of YourKit, but I've read from some that it's overpriced for what you get. > - Testing: I've not really got to the documentation on Clojure's own > testing tools, so maybe that's all I need, but are there testing > frameworks I should look at, that sort of thing? http://richhickey.github.com/clojure/clojure.test-api.html That should have everything you need to get started. > - Deployment: For simple standalone utilities, am I looking at bat > file wrappers (I'm on Windows mainly) to set classpath and the like? > Given that there are some annoying limitations with bat files (nasty > nesting behaviour, ugly console windows for GUI applications), are > there any commonly used better solutions? For web applications, I > gather that a servlet container (all that fancy J2EE stuff :-)) and > something like compojure is a good place to start. For non-web > long-running services, is it still reasonable to use an application > server, or should I be looking at something to wrap a Clojure app up > as a Windows service (something like "Java Service Wrapper" > (http://wrapper.tanukisoftware.org/doc/english/download.jsp) came up > for me on a Google search)? For a webapp built with Compojure you can build a WAR and deploy it on any J2EE container. Probably the most convenient model. For a standalone app you could build what we call an "uberjar" (a JAR with all your dependencies) and write a small script to execute your main entry point. Once again, if you're an Emacs person you may want to start up a swank server in your entry point to allow for remote debugging and hot-patching. I'm sure others will have much to add, but this should be a start. HTH -Ryan -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en