Some thoughts about Clojure, its latent potential and adoption

I’m dropping in after learning the languages originally 3 years ago. It feels like very little has changed in those 3 years?

I like the language a lot and reach for it when I don’t want to deal with the computing archeology of having to run a traditional LISP/Scheme. What’s most off-putting to me is all the non-language stuff:

  • The VScode integration, the one I tried didn’t work (GitHub ticket) so I ended back up at Calva which kinda works but it’s always difficult to figure out which of the options you need (9 options when starting a REPL).
  • The REPL itself is very messy and can’t figure out whether it’s a REPL or an editor. I have to manually eval things or not? REPLs are praised as the magical thing but never could get them to work in a way I would consider nice and was told to watch an hour long screencast (nonstarter). Example: I Alt-Enter an expression and it then prints the output in a totally unrelated place. Shouldn’t these two things belong together?
  • Five ways of doing anything, lein, deps, don’t know anymore. Exacerbated by the split between Clojure and Clojurescript which makes it 10 ways to do anything.

What I’m looking at mostly (I main python):

  • Rust: cargo test; cargo run; One way of doing things. Just works. You can do really weird things with a Rust project and swap things out but I need to read some advanced books to figure that out. Nobody talks about it.
  • Roc: charming evolution of Elm/Haskell that maybe will get some stuff right, but too experimental and small to be used for anything at the moment
  • Javascript/Typescript: I like to hate on this a lot but playing around with small languages, the benefits that a large language has in terms of resources, documentation etc. becomes all the more evident. Also 10 ways to do anything but if I choose to live within this or that framework, things mostly work.