For weeks, months —nay!—from the very moment you were born, you’ve felt it calling to you. At long last you’ll be united with the programming language you’ve been longing for: Clojure!

As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a “dessert-first” approach: you’ll start play­ing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you’ll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires.

Learn how to:

Wield Clojure’s core functions

Use Emacs for Clojure development

Write macros to modify Clojure itself

Use Clojure’s tools to simplify concurrency and parallel programming

Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!

Author Bio

Daniel Higginbotham has been a professional programmer for eleven years, half of that at McKinsey & Company, where he used Clojure to build mobile and web applications. He has also contributed to the curriculum for ClojureBridge, an organization that offers free, beginner-friendly Clojure workshops for women. Daniel blogs about programming and life at flyingmachinestudios.com, and can be found on Twitter, @nonrecursive. He lives in Durham, North Carolina, with his wife and four cats.

"Daniel's approach is refreshing because most of the programming books I’ve read are drier than a camel’s fart. We are fortunate that Daniel is a brilliant programmer and writer and that his wife Jess is an equally brilliant illustrator. We are especially fortunate that they both went insane and decided to write a book at exactly the same time."
—Alan Dipert, from the Foreword

"This book is a valuable starting point for exploring Clojure, supplying a coherent and current view of the full landscape."
—Computing Reviews

"I am not the target audience for this book as I not a new Clojure developer, however it was so much fun to read that I read it anyways. If you're looking for a way to start Clojure with fun examples and engaging explanations, I heartily recommend that you check out Clojure for the Brave and True."
—Alex Miller, Clojure developer for Cognitect

The penultimate paragraph on page 227 should read, “Because with-redefs has such far-reaching effects, you should only use it during testing. For example, you could use it to redefine a function that returns data from a network call, so that the function returns mock data without having to actually make a network request.”