3 ms·
I work in Plain Old Java most of my day, but have side projects in both Clojure and Python. I agree with the consensus here about the error traces in Clojure,
by jsankey 16y ago
I work in Plain Old Java most of my day, but have side projects in both Clojure and Python. I agree with the consensus here about the error traces in Clojure, but I'd like to point out this is not inherent in the platform. When I'm programming in Java, I find the stack traces to be a massive advantage in diagnosing issues, as they present a lot of detail right down to the location of the problem (Python is similar in this respect). Irrelevant plumbing may bloat the traces a bit, but usually quite separated from the important lines, and having too much information is rarely an issue for me.
I think the problem with Clojure (and perhaps Groovy too), is that the compiler/runtime for the language invades the traces. If you look at the example given in the original post, almost the entire trace is Clojure plumbing. That's the real issue, and it's not the fault of the Java stack.
- barnaby 16y agoThere's probably truth to that. I don't remember Java error output being that bad back when I worked with it years ago. It does seem like many of the lines in Groovy output are groovy plumbing, like which closure was called.