Hello! I would like to find out what do beginners to Clojure struggle with. While learning Rust I discovered a few things there were giving me trouble and where I occasionally needed help from a mentor to make progress, which got me thinking - what are these trouble points in Clojure? I would very much appreciate your input, whether you are a beginner yourself or have experiences helping beginners.
While mentoring Clojure beginners at Exercism.io, I have noticed a few problems in their source code that show up repeatedly. I would like both to confirm these and expand to problems I have not noticed and problems beyond source code.
I have seen people struggling with the language basics (using the correct constructs at the correct place -
(require ..) vs
(ns .. (:require ..)),
def, etc), with not leveraging the platform and its native classes and methods, limiting themselves to Clojure itself (e.g.
Character/digit), naturally limited knowledge of core functions and solving manually something that already had a solution in the core library, tendency to write low-level code with
reduce instead of leveraging the most suitable sequence functions. And I am sure they also struggle with tooling, going from error messages to fixing the cause and more.
What is your experience? Thank you!