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.