3 ms·
I'm a Pythonista working on Groovy (and Grails) and I have a similar complaint about the error messages given by the Java stack. Groovy is one hell of a groovy
by barnaby 16y ago
I'm a Pythonista working on Groovy (and Grails) and I have a similar complaint about the error messages given by the Java stack. Groovy is one hell of a groovy language but the Java error output that it gives is comically long, and overall pretty useless. I rely almost exclusively on log output and step debugging.
To J_Baker's point, no you don't get used to that kind of thing, it's still annoying after 3 months to have to scroll through 2 pages to find a single reference to a method you were working on, and then it's not even the line where you had the problem.
- jsankey 16y agoI 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.