Clojure

/KLOH-zher/ · noun · Development · Origin: 2007

Definitions

  1. A modern Lisp dialect that runs on the JVM, emphasizing immutable data structures, functional programming, and a pragmatic approach to concurrency. Clojure's persistent data structures and software transactional memory make it well-suited for concurrent and data-heavy applications.

    In plain English: A programming language based on Lisp that runs on Java's platform, focused on handling data safely when many things happen at once.

    Example: Our data pipeline is all Clojure — immutable data everywhere means we never worry about race conditions.

Origin Story

A pun on 'closure' with J-V-M baked into the spelling

Rich Hickey spent two years developing Clojure before releasing it in 2007. He wanted a modern Lisp that ran on the JVM and emphasized immutable data structures and functional programming for safe concurrency.

The name **Clojure** is a pun on **"closure"** (a key concept in functional programming), cleverly respelled to include **C** (C#), **L** (Lisp), and **J** (Java) -- the three languages and platforms that most influenced its design. The 'j' nods to the JVM, the 'l' to Lisp heritage.

Hickey famously self-funded Clojure's development, taking time off from consulting work. His conference talks -- particularly "Simple Made Easy" and "Hammock Driven Development" -- became influential across the entire programming community, not just among Clojure users.

Coined by: Rich Hickey

Context: Independent project, 2007

Fun fact: Hickey has said that his most productive development tool is a hammock. His talk 'Hammock Driven Development' argues that the most important phase of programming happens away from the keyboard, while thinking deeply about the problem.

Related Terms