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

Title:

Clojure for the Brave and True

By:

Daniel Higginbotham

Publisher:

No Starch Press

Formats:

Print

Ebook

Safari Books Online

Print:

October 2015

Ebook:

September 2015

Pages:

328

Print ISBN:

978-1-59327-591-4

| ISBN 10:

1-59327-591-9

Ebook ISBN:

978-1-59327-723-9

| ISBN 10:

1-59327-723-7

Daniel Higginbotham

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 http://flyingmachinestudios.com/, and can be found on Twitter, @nonrecursive. He lives in Durham, North Carolina, with his wife and four cats.

However, I did find the author has a tendency to use examples with language features before introducing the features.

This can be frustrating, as it makes understanding the 'putting it all together' examples quite difficult. I recommend reading the entire book and skipping any examples that don't make sense; they will when you come back and read them again later.

I also found that there was a lack of focus on any practical applications; the majority of the book is focused on the technical syntax of the language, and neglects, for example, basic file I/O.

First, disclosures: I haven't finished this book. I've been a professional programmer for 50 years, and have programmed in many languages. I'm really enjoying Python. I got interested in Clojure because of LightTable, which is very impressive, and have a genuine interest in functional programming.

If I had read the TOC and noticed that chapter 2 was a tutorial on Emacs, I might have reconsidered. No, I don't have any problem with Emacs, it's just that I've been using vi and it's derivitives for 35 years (there were two choices back then, vi and Emacs, and I chose one. There's always been the vi/Emacs religious argument, which I've never understood. What's the big deal? Daniel makes the point that Emacs is the most popular editor among "Clojurists". This made me uncomfortable right from the start. Since when has an affinity for a text editor has anything to do with a programming language. Emacs was written in Lisp; I get that.

Otherwise, I have to admit that I find Daniel's writing style a little quirky, and its an impediment to my learning process, and I've had to take frequent breaks to get through it. Personally, I don't need the cheer-leading stuff, I'd just like to be led through the language with progressive examples, and explanations.

Oh, I'll finish the book, and use Clojure (probably in LightTable). I'll probably look around for another book with a more focused writing style.