My attitude toward debugging is decidedly non-Java, but I find the
best thing to do is break your problem into small enough pieces that
you can experiment with them rapidly in the REPL.  For certain stuff
that is hard to test in the repl (such as aspects of applet
development for example and other things that depend on an environment
in which they run), use print statements.  Most debugger experiences I
have had have in the end not offered much, and I have had better luck
applying minimalist debugging techniques and critical thinking about
the logic of problems.

On Jun 19, 1:21 am, "rzeze...@gmail.com" <rzeze...@gmail.com> wrote:
> 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