Clojure is a dialect of the Lisp programming language. It’s a well-rounded language. It offers broad library support and runs on multiple operating systems.
Clojure is a dynamic functional general purpose programming language that uses the Java Virtual Runtime as its platform, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multi-threaded programming. Clojure features a rich set of immutable, persistent data structures, first-class functions and dynamic typing. Clojure programs are composed of expressions and written in terms of abstractions.
By compiling into JVM bytecode, Clojure applications can be easily packaged and deployed to JVMs and application servers without added complexity. The language also provides macros which make it simple to use existing Java APIs. Clojure’s data structures all implement standard Java Interfaces, making it easy to run code implemented in Clojure from Java.
We have published a series covering the best open source programming books for other popular languages. Read them here.
By Luke VanderHart and Ryan Neufeld (and over 70 contributors) (476 pages)
Clojure Cookbook shows experienced Clojure developers how to solve a variety of programming tasks. But it doesn’t just teach the reader Clojure, it also shows them how to use the language and many of its common libraries.
The book focuses on specific tasks that developers face. The book contains hundreds of real-world problems and solutions, ranging from basic utilities to rich web services to heavy data processing. The solutions cover everything from building dynamic websites and working with databases to network communication, cloud computing, and advanced testing strategies.
The full text and example code of the book are publicly hosted on GitHub, and the draft of the book is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
By Kyle Kingsbury (HTML)
Clojure from the ground up is a good introduction to learn Clojure. It aims to introduce newcomers and experienced programmers alike to the beauty of functional programming, starting with the simplest building blocks of software.
The book explores:
The content is licensed under non-commercial re-use with attribution encouraged.
By Matt Makai (HTML)
Full Stack Clojure is an open book that explains each Clojure web application stack layer and provides the best web resources for those topics.
This guide branches out on topic to lead you to the appropriate topics based on what you’re trying to accomplish with Clojure.
By Wikibooks (HTML)
The text is available under the Creative Commons Attribution-ShareAlike License.
While not released under an open source license, Clojure for the Brave and True is worthy of a mention.