Clojure is a functional, dynamically typed Lisp dialect that runs on the Java Virtual Machine, giving it direct access to the entire Java ecosystem of libraries while offering a very different programming model than Java itself. It emphasizes immutable data structures by default, treats functions as first-class values, and provides built-in tools for managing state changes explicitly through constructs like atoms and refs, rather than relying on mutable objects. Code and data share the same representation, a Lisp trait, which makes metaprogramming and macros a natural part of how Clojure programs are often structured.
The language is popular for backend services, data processing pipelines, and applications where correctness and concurrency safety matter, since immutable data structures eliminate a whole category of bugs related to shared mutable state across threads. Its REPL-driven development style, where you can evaluate and redefine code while a program is running, is often cited as a major productivity advantage, letting developers interactively build and test logic without restarting the application. ClojureScript, a Clojure variant that compiles to JavaScript, extends the same language to front-end development.
Clojure has a smaller but dedicated open-source community compared to more mainstream languages. Metabase, the open-source business intelligence and analytics tool featured on this page, is built primarily in Clojure, using its JVM interoperability to work with a wide range of databases. Logseq, a note-taking and knowledge management tool, also uses Clojure and ClojureScript for parts of its implementation.