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

Reply via email to