Synopses & Reviews
About the Book
If you've seen how dozens of lines of Java or Ruby can dissolve into just a few lines of Clojure, you'll know why the authors of this book call it a "joyful language." Clojure is a dialect of Lisp that runs on the JVM. It combines the nice features of a scripting language with the powerful features of a production environment—features like persistent data structures and clean multithreading that you'll need for industrial-strength application development.
The Joy of Clojure goes beyond just syntax to show you how to write fluent and idiomatic Clojure code. You'll learn a functional approach to programming and will master Lisp techniques that make Clojure so elegant and efficient. The book gives you easy access to hard soft ware areas like concurrency, interoperability, and performance. And it shows you how great it can be to think about problems the Clojure way.
Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's Inside
- The what and why of Clojure
- How to work with macros
- How to do elegant application design
- Functional programming idioms
Written for programmers coming to Clojure from another programming background—no prior experience with Clojure or Lisp is required.
Clojure is a dynamic programming language that targets the Java Virtual Machine. The Joy of Clojure goes beyond the syntax, and shows how to write fluent, idiomatic Clojure code. Readers will learn to approach programming challenges from a Functional perspective and master the Lisp techniques that make Clojure so elegant and efficient.
According to the authors, there's a "right way" to do things in Clojure. This book will help readers think about problems the "Clojure way," and recognize when they simply need to change the way they program. Not just another book about programming philosophy, The Joy of Clojure tackles hard software areas like concurrency, interoperability, performance, and more.
Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features. In this guide, Halloway shows users why Clojure's features are so important, and how to use Clojure to build powerful programs quickly.
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.
About the Author
Michael Fogus is a programmer in the DC area specializing in artificial intelligence, compilation, code generation, and distributed simulation systems. He is also a contributor to the Clojure and ClojureScript programming languages and author of various Clojure-contrib libraries.
Chris Houser is a software developer at LonoCloud. His lifelong passion for programming began when he was a child and drives him to continue learning and exploring new languages today. He's currently a primary contributor to Clojure and has implemented several features for the language.