2 ms·
My chief recollection of the Clojure mailing list was countless explanations of what a stack trace is to countless people who had never worked with Java and who
by nescioquid 3y ago
My chief recollection of the Clojure mailing list was countless explanations of what a stack trace is to countless people who had never worked with Java and who had no interest in learning about Java.
That was also around the time people had started hyping the JVM as a general language host. Seeing how people struggled on the Clojure mailing list made me rethink that proposition.
- eduction 3y agoI personally never understood why Clojure stack traces alienate people. I worked on python, ruby, Javascript and Perl before Clojure and I seem to recall they had stack traces too. Am I misremembering? The Clojure stack traces are certainly longer. Which is because it’s a hosted language - the Java stack trace plus the Clojure stuff. I suppose the extreme indirection in Java might be part of the problem, where code passes through so many intermediate classes.
- Jach 3y agoThe traces were longer but also so much less helpful for finding the problem than stack traces in other languages, including pure Java. The one I remember getting irrationally angry over how much of a pain it was to track down the bug was where I mistakenly tried to call inc on a string. This was in 2012, I suspect (and hope) it's better now, but later I got more serious about Common Lisp and never looked back (except for occasional thoughts about taking a Clojure job). CL debugging is rather a joy because of its condition system and full live development support that Clojure emulates. (There's also compile-time warnings that tell you about things like incf on a symbol whose derived (or declared) type is not a number.)