If you’re a Java programmer, if you care about concurrency, or if you enjoy working in low-ceremony language such as Ruby or Python, Programming Clojure is for you. Clojure is a general-purpose language with direct support for Java, a modern Lisp dialect, and support in both the language and data structures for functional programming. Programming Clojure shows you how to write applications that have the beauty and elegance of a good scripting language, the power and reach of the JVM, and a modern, concurrency-safe functional style. Now you can write beautiful code that runs fast and scales well.
Stu is passionate about finding better ways to develop software, and
Programming Clojure shows it. This book shows rather than tells how
and why Clojure can help you and, because of its tight integration
with the Java platform, how you can leverage your investment in
existing infrastructure and numerous Java APIs. I found the book
extremely easy to read, with some of the most unique and interesting
code examples in any technical book I’ve read.
- Scott Leberknight
Chief Architect, Near Infinity Corp.
Not only a great reference for an exciting new language, this book
establishes Clojure as a serious tool for working programmers.
- Stuart Sierra
Stuart has charted the smoothest path yet to Clojure fluency with this well-organized and easy-to-read book…
- Chris Houser
Of the new crop of languages appearing on the Java Virtual Machine, Clojure might be the most compelling…Stu has written a masterwork, making both new and old concepts blend together into an accessible and thought-provoking
tour of this elegant language. Read the first chapter, and you will be hooked.
- David Bock
Principal, CodeSherpas, Inc.
...it reads exactly like all the other pragmatic programmer books, that is it is a nicely produced tutorial style book that is quite accessiable to programmers without much experience in the topic of the book. Sort of fits me perfectly.
Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:
Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.
Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.
Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure shows you why these features are so important, and how you can use Clojure to build powerful programs quickly.
Stuart Halloway is a co-founder and CEO of Relevance, Inc. Relevance provides development, consulting, and training services based around agile methods and leading-edge technologies such as Ruby and Clojure. Stuart has authored several other books including Component Development for the Java Platform and Rails for Java Developers.