I'm thrilled and relieved to announce that the complete first edition of Elements of Clojure is now complete. A special thanks for Julie Moronuki (@argumatronic) for her excellent copy-editing.
This book was first conceived as a small collection of guiding principles for writing reasonable Clojure, because I had seen too many people get twisted up over whether they were using Clojure the "right" way. In the intervening years, it became something else. I realized my ability to write effective Clojure didn't mean I could explain my own design decisions. I had to dig deeper, and so I did. I read, and pondered, and quit my job, and read some more.
The result is something that sits halfway between the book I originally meant to write and the book I'd eventually like to write. At some point I intend to further refine the ideas in Elements and bring them to a broader audience. This project is tentatively entitled "Principles of Software". I have no idea when it will start, and even less when it will be done.
Many people have asked about getting physical copies of the book. I'm currently looking into a few options, and will share more once I've found something satisfactory. If anyone has recommendations or cautionary tales to share, please feel free to email me.
I want to thank everyone for their support over the last few years. The emails, tweets, and kind words at conferences have made this difficult project much more bearable. I hope you find the wait has been worthwhile.
Zach