I think providing useful stack traces is one of the most important features of a language - since it makes debugging so much easier. Those languages that have great stack traces are Java, Python, Ruby etc. Some languages that have pretty cryptic stack traces are for example ML and Haskell (and C++ if one uses lots of templates). Lacking useful stack traces is a big problem for Clojure, at least if one is new to the language.<p>"As soon as we started programming, we found out to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs." - Maurice Wilkes
One of my top complaints is the lack of method combination. You can do something like it by locally binding a function name... sometimes, but CL does it right.
I've been using Clojure for about a week and out of the issues mentioned in the article, I find the stack trace and import issues the most annoying. Also, since it's built on the Java ecosystem, clojure seems to have inherited all the config bullshit which is a big reason I left that world years ago. I guess I thought those issues would have improved over the past 7 years, but it appears not.
Nice to see something that doesn't complain about the usual "it has too many parentheses"; it shows people are actually taking the time to learn the language.