We wrote this book for you.

We've worked with Clojure for many years now, and have enjoyed using it to build projects, websites, products, and businesses of all kinds. We love the language, and we think you will too.

Clojure is a dynamic, general-purpose programming language that runs on the Java Virtual Machine that offers superior interactive development with the speed and reliable runtime of the JVM. Clojure Programming is our attempt to get you up to speed as efficiently and pleasantly as possible.

To ease your way, we included examples throughout the book to help relate aspects of Clojure to their analogues in Java, Ruby, and Python; these landmarks should help you keep your bearings throughout your new language adventures. Why those languages and not others? First, because nearly all programmers know at least one of them; and second, Clojure has a great deal to offer to Java, Ruby, and Python developers:

Engaged Java developers are usually found working in demanding environments solving nontrivial, often domain-specific problems. For you, you'll find Clojure to be welcome relief. It runs on the JVM with excellent performance characteristics, interoperates with all of your existing libraries, tools, and applications, and is simpler than Java yet remains demonstrably more expressive and more concise.

Ruby and Python developers are usually unwilling to compromise on language expressivity, developer happiness, and the joys of working within a thriving community. Clojure is a natural next step for you. It delivers on these things in spades, but runs on a more capable execution platform with better runtime performance and a larger selection of libraries than those available for either Ruby or Python.

In the end, we hope you find the book as accessible and as thought-provoking as Clojure itself.