| I love Clojure the language but I’ve never seen a more fragmented ecosystem. There seems to be a pattern in the language of “a problem emerges > a community solution gains traction > Cognitect develops their own solution but its weird and undocumented”, like deps.edn over leiningen, spec over malli, pedestal over ring, etc. Many prominent clojurists recommend deps.edn over leiningen and socket repl over nrepl, but I’ve seen very little guidance on how either actually work or how to use them. Spec seems kind of weird and not well thought out either. And Clojure CLI tools also seem like a total shitshow compared to go or rust’s tooling. As a result working with Clojure feels puzzling and unpleasant, and I feel hesitant to use any community library or project in the language. |
There are some within the community working on this but unless it becomes a blessed solution it can still be kinda difficult for new developers to onramp into the language.
E.g. compared to something like Elixir, the road is much more arduous with Clojure.
The problem with things like spec is it kills interest in other libraries solving the same problem. Note that Malli released after spec, and after spec all but killed off a few spec-like libraries, my general observation seems to be that many in the community have moved on from spec.