Preface
Clojure is a dynamically and strongly typed programming language hosted on the Java Virtual Machine (JVM), now in its fifth year. It has seen enthusiastic adoption by programmers from a variety of backgrounds, working in essentially all problem domains. Clojure offers a compelling mix of features and characteristics applicable to solving modern programming challenges:
Functional programming foundations, including a suite of persistent data structures with performance characteristics approaching typical mutable data structures
A mature, efficient runtime environment, as provided by the host JVM
JVM/Java interoperability capabilities suited for a wide variety of architectural and operational requirements
A set of mechanisms providing reliable concurrency and parallelism semantics
A Lisp pedigree, thereby providing remarkably flexible and powerful metaprogramming facilities
Clojure offers a compelling practical alternative to many who strain against the limitations of typical programming languages and environments. We aim to demonstrate this by showing Clojure seamlessly interoperating with existing technologies, libraries, and services that many working programmers already use on a day-to-day basis. Throughout, we’ll provide a solid grounding in Clojure fundamentals, starting from places of common expertise and familiarity rather than from (often foreign) computer science first principles.
Who Is This Book For?
We wrote this book with a couple of audiences in mind. Hopefully, you ...