The Joy of The Joy of Clojure Closure

by fogus

The Joy of Clojure has gone to print.1 The tentative timeline is as follows:

  1. Chapters 1, Clojure Philosophy (the “why” of Clojure) and 9, Combining Data and Code (namespaces, multimethods, prototypes, reify, etc.), will be available as free content from Manning’s Joy page.
  2. The final EBook version will be released by early March. At the moment it looks like the book will be available in epub, mobi, and pdf formats.
  3. The source code will be released.
  4. The paperback will be bound and available sometime in mid-March to book retailers.
  5. The official website will get a facelift and new/additional content.

It’s has been an absolute pleasure2 working with Chouser3 and our army of Manning4 editors and proofreaders. I would also like to thank Christophe Grand for his excellent5 technical review. Additionally, I would like to thank Steve Yegge for writing the foreword and providing insightful feedback6 that I believe made our book all the stronger. Finally,7 words cannot properly express my deep respect and gratitude to Rich Hickey the creator of Clojurephilosopher-programmer. Without his vision it’s obvious that this book would not have existed, but furthermore my life would be much the poorer.8

The book has taken so much of my time this past year that I can scarcely fathom what to do next9. Whatever it will be,10 I hope I can learn11 even a fraction as much as I did writing Joy.

Hope you like the book.

Fogus signing out.

:f

thanks to Michael Harrison who was kind enough to read a draft of this post


  1. The book currently stands at about 333 pages. There is much that we cut that probably could have benefitted the Clojure community, but for the sake of stronger coherence we decided against inclusion. I personally wrote (roughly) an additional 100 pages of material that didn’t make it. I am not sure what the cut count for Chouser might be, but I suspect it’s significant. Some of this extra material will make it onto the official Joy of Clojure website, blog posts, and perhaps another portion will make it into future editions… when and if they ever materialize. 

  2. Well of course not always — but that is to be expected when humans deal with humans. I can sometimes be be surly, so I hope there are no hard feelings. 

  3. OMG… Chouser is smart. If you ever have the chance to work closely with someone brilliant then jump12 at the opportunity. It is indeed a humbling experience at times, but you will come out of that experience a smarter and better person overall. There was a time early in the process when I was on the verge of dropping out of the book project, but it was the opportunity to work with Chouser that changed my mind. I’m glad that I did as I found in Chouser a consummate partner and a true friend. 

  4. Speaking from no other point of reference, I must say that while I didn’t always agree with the decisions made13 by Manning (a claim that they can make against me also), my overall experience with them was positive. What is the future of publishing? I have no idea. However, I do see that publishing firms have a clear advantage over self-publishing through the stunning strength of their editorial staff. It would be very difficult to self-publish and match the same level of quality obtainable with the help of professional editors and proofreaders. 

  5. OMG… Christophe is ridiculously smart. 

  6. What can I say about Mr. Yegge that everyone doesn’t already know? I will say that his emails are just as insightful and witty as his blog posts. I was not expecting that, but I was pleasantly surprised. It was almost like receiving my own personalized Drunken Rants

  7. Obviously there are many more people deserving thanks, and we’ve tried to thank them in the book’s acknowledgements. 

  8. Writing a book is a double-edged sword. On the one hand it is a monumental task that one can be proud of when complete. However, on the other hand it is an unbelievable pervasive disturbance in one’s life. To anyone wishing to write a book I have only one piece of advice. Unless you are 100% certain that you want to write a book and are willing to sacrifice time for yourself and with your loved ones, and are able to learn a healthy dose of humility… don’t. I plan to follow14 this advice moving forward. 

  9. Having said that, I really think that I’ve spent my book writing capital. For better or for worse, Joy is the best possible book that I am able to produce, and I can’t imagine finding either the ability or the motivation to do it again. Maybe I’m wrong, and a flash of inspiration will hit me one day, but if that is true, then it’s too abstract for me to see even as the remotest possibility. I would much rather return to school and finish my philosophy degree, or learn Haskell15 or OCaml, or Ruby, or Factor, or NBL,16 or Io, or Mozart, or J, or Joy, or complete my black belt, or get a Ph.D, or write an operating system, or learn to play the Piano, or release these 14 half-baked Clojure projects, or learn Yoga, or watch the entire run of STNG, or contribute to CinC, or build a lego city with my kids, or watch more baseball, or take a long trip with my wife, or read the ANSI Common Lisp standard, or write a program for my kids, or explore the inherent efficiencies of nothingness, or build a website with Rails, or learn to play Go and Shogi, or listen to the complete works of Cluster, or all of the above and more. 

  10. So I got a job with Relevance working with some extremely bright people… including, but not limited to, the Clojure/core team. I think the words that best describe my feelings are: OMG. todo: expand my vernacular 

  11. Of everyone who will ever read Joy, I will have learned the most. 

  12. try to be the worst guy in whatever band you’re in

    — Pat Metheny

  13. For some strange reason Manning said we had “too many” footnotes! The gall! 

  14. I was considering writing a blog post about “How to write a book, blah blah blah” but I realize that said post would be only three sentences: 1) Write the book out of order — about whichever topic(s) happen to motivate you at any given moment. 2) It’s important to write about something that you’re passionate about. 3) The less interesting topics will eventually motivate you, but if they don’t just drop them.17 

  15. I have a series of blog posts on Haskell in mind, but I have no idea if I will ever find the time to write them. Sigh. 

  16. I know a fair amount of Javascript, but I could always be stronger, and I feel that js-as-compilation-target has the potential to be huge. I would also love to finish project Doris, but it has mostly been solved by others

  17. Or trick your co-author into writing them. :-o