Try Clojure

Editing Lisps & Parentheses

  • Many argue new Lisp/Clojure REPLs should ship with structural editing (Paredit/Parinfer) and explain it early; otherwise people assume “raw parens typing” is the norm and quit.
  • Others say basic editor features (auto-closing/matching/rainbow parens) already make parentheses manageable.
  • Some describe modern editors (VS Code + Calva, Helix, IntelliJ+Cursive) as providing good structural navigation without Emacs.
  • There is disagreement on whether Clojure code is inherently easy to read; some find it “write-only” without deep familiarity.

Tooling, REPL & Error Messages

  • Repeated complaints: confusing official CLI and config, complex REPL setups, leaky stack traces, and poor error messages—especially type/interop errors.
  • Some say third‑party tools (Cursive, Calva, clojure-lsp, clj-kondo, shadow-cljs) and newer workflows (deps.edn, babashka) greatly improve the experience, but require investment.
  • Several compare Clojure unfavorably with Rust/Go in terms of “out-of-the-box” tooling and diagnostics.

JVM, Performance & Runtimes

  • Mixed feelings about the JVM: some view it as a high-quality, performant platform; others have strong aversion from prior Java experience.
  • Clojure’s slow startup is attributed more to loading/compiling large core namespaces than to JVM boot alone; GraalVM native images and Babashka are mentioned as mitigations.
  • ClojureScript inherits some JavaScript “wat” behavior; this surprised some who thought it reflected Clojure itself.

Ecosystem: Web, Scripting, Data

  • No dominant “Rails/Django-style” full-stack framework; instead many small, composable libraries (Ring, Reitit, Hiccup, HoneySQL, HugSQL, Biff, XTDB, etc.).
  • Some see the lack of an ORM and batteries-included framework as a barrier, especially for newcomers; others consider this freedom and explicit SQL a feature.
  • Babashka is widely praised as a fast-starting, batteries-included scripting/runtime layer.
  • Scicloj stack is cited as competitive with Python for data science/ML.

Functional Programming & Immutability

  • Strong advocacy for immutability and functional style; some claim mutable collections are “good enough” in practice and that persistent data structures’ benefits are overstated.
  • A heated subthread debates performance of purely functional languages vs mutable ones, with no consensus.

Adoption, Community & Learning

  • Many express love for Clojure’s design, REPL-driven workflow, and “finished” feel; some say it was career-changing.
  • Others argue Clojure lost momentum as mainstream languages adopted FP features and because early tooling/learning curve burned teams.
  • Community is generally described as friendly, but the language, tooling, and ecosystem are seen as “expert-friendly” rather than beginner-friendly.