Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer

  • 4h 53m
  • Daniel Higginbotham
  • No Starch Press
  • 2015

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 playing 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!

Covers Clojure 1.7Requires Java 1.6 or later

About the Author

Daniel Higginbotham has been a professional programmer for 11 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 life and programming at, and can be found on Twitter, @nonrecursive. He lives in Durham, North Carolina, with his wife and four cats.

In this Book

  • Building, Running, and the Repl
  • How to Use Emacs, an Excellent Clojure Editor
  • Do Things: A Clojure Crash Course
  • Core Functions In Depth
  • Functional Programming
  • Organizing Your Project: A Libr A Ri A N'S Tale
  • Clojure Alchemy: Reading, Evaluation, and Macros
  • Writing Macros
  • The Sacred Art of Concurrent and Parallel Programming
  • Clojure Metaphysics: Atoms, Refs, Vars, and Cuddle Zombies
  • Mastering Concurrent Processes with Core.Async
  • Working with the JVM
  • Creating and Extending Abstractions with Multimethods, Protocols, and Records
  • Farewell!