ClojureScript with shadow-cljs has really good error messages
Clojure's errors require getting used to because they can be verbose but the patterns emerge after some use, that said most beginner errors can be caught before runtime with clj-kondo
Touché :D, but to be fair the Clojure-Team (i guess Alex mostly) put a lot effort in it to improve the situation.