Preface
This book is about the programming language Clojure. Specifically, this book is about how to write Clojure code “The Clojure Way.” Even more specifically, this book is about how experienced, successful Clojure programmers write Clojure code, and how the language itself influences the way they create software.
You may be asking yourself, “Who are these guys, and why should I listen to them?” Rather than simply appealing to an authority that you know nothing about, allow us to take a few moments to explain how this book came about, who we are, and why we wrote this book in the first place.
Both of us discovered Clojure early on in its life. It’s safe to say that there were times when the Clojure IRC channel #clojure (on Freenode) contained only ourselves along with Clojure’s designer—Rich Hickey—and a handful of other people. Our story in finding the language is similar to the story of many of its early adopters. That is, our path runs from modern object-oriented languages[4] like Java and C++, through (seemingly) simpler languages like JavaScript and Python, and then into more powerful languages like Scala and Common Lisp before finding Clojure. The precise details of how we found Clojure are unimportant; the point is that we were both searching for something that none of the other languages provided.
4 And indeed the younger versions of ourselves were both deeply influenced by the public ponderings of Steve Yegge and Paul Graham.