Chapter 1Getting Started

Clojure is a functional programming language on the JVM with great support for managing state and concurrency. Two key concepts drive everything in Clojure: simplicity and power.

Simplicity has several meanings that are relevant in software, but the definition we care about is the original one: a thing is simple if it is not compound. Simple components allow systems to do what their designers intend, without also doing other things irrelevant to the task at hand.

Power also has many meanings. The one we care about is whether the capabilities are adequate for the tasks we want to undertake. To feel powerful as a programmer, you need to build on a platform that’s itself capable and widely deployed, such as the JVM. ...

Get Programming Clojure, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.