On Tue, May 28, 2013 at 1:35 PM, Softaddicts
<lprefonta...@softaddicts.ca> wrote:
> I came to the same conclusion as Stuart after 30+ years of coding in various
> languages/assemblers and architectures.

Interesting thread and I find myself in agreement with Luc here. I've
been programming commercially for about 30 years and I used a step
debugger back in the day with C and later C++ code but found myself
relying on it less and less over the years. I've used the step
debugger maybe three times with Clojure in the last three years, and
two of those occasions were more to see where the state of the art was
at, out of curiosity. I've hardly used step debuggers at all for the
last 15 years, since I moved to the JVM. Every now and then, I've
found a debugger to be very useful, but with the complexity of a lot
of software workflows these days, trying to hit the right breakpoints,
and step thru just the critical parts of the system, has become
increasingly difficult, compared to just adding tracing or logging at
various points.

Mark's original point is well-made: the biggest "bang for our buck" is
likely to come from exceptions being able to capture and automatically
display all of the in-scope vars at the point of failure. Even with a
step debugger, you still have to reproduce the failure, often
repeatedly, slowly zeroing in on the correct breakpoints in order to
analyze what caused it. The Ritz debugger, with the ability to break
on exception and display locals (if you've disabled locals clearing),
can be very helpful here but you still have to repro the failure -
which as several folks have said, is not at all easy in a complex
and/or non-deterministic system.

Worse, if the failure arises from bad data - or the failure is simply
"incorrect results" - then breaking on an exception won't help you
anyway, and you're back to painstakingly tracking thru code to find
where data went bad. Hammock time, careful human analysis, and
selective logging and tracing is more likely to yield results quicker
for less effort, in my opinion.

As is a comprehensive test suite :)
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to