The book uses Clojure as a support to picture various aspects of functional programming from the basics of functions as first class citizen to more experts monadic structures presentation (yes in Clojure!).

Astute readers will recognize some tributes to the SICP book specifically when embedding an Object-Oriented Language from the very start of book, or presenting lazy sequences, as close as they are to Scheme streams.

But in my humble opinion Mr Marick's book is not only "yet another book" on Clojure. Of course you learn about Clojure. The same ideas could be pictured in Ruby, Scheme, Haskell etc. For example, the intellectual exercise of embedding an OOP approach exposes a paradigm for what it is: a specific programmatic interface aiming to serve group of concepts for the better - or sometimes for the worse. The monadic structure examples expose clearly, concisely, and in a pragmatic way, why and how you should use some approaches of the monadic ecosystem. So far the best explanation on Monads I ever read.

Brian Maricks does not popularize functional programming for the average developer, but pulls her up to a new level of perception. As in his zipper example, he magnifies some aspects of mutable data structures and function application
Whether you are new to functional programming or already an experimented functional programming developer you will certainly find meat for the brain in this book.

Brian Marick shares understandable knowledge and it shows that sharing matters to him. Each line, each page reveals a true and deep commitment in making the functional paradigm accessible to every willing developer.

Brian Marick works matters today more than ever. In a time where rock star developers with over sized ego seem to invade Computer Science, it is becoming harder and harder to find humble people committing into knowledge sharing. One can be a very clever hard core developer producing infinite volumes of open source code praised by a blind community, his cleverness serves no purpose if he is incapable of sharing the knowledge and pulling people at his level. The essence of progress is in the ability to pull the world with you, not to make it serve your purpose and flattering you. Unfortunately I mainly witness today exchanges between people who spend their coding lifetimes in congratulating each others for the sake of their own ego.

There were times when we had masters, humble, educated, sharing. It seems that some very rare people like Brian Marick keep the tradition alive. I would like to meet more of them, and it occurs to me that some remain from the Lisp community and new are coming into the Clojure communities as the new Common Lisp for the JVM. Maybe one day an old Lisper who wishes to mentor, who knows...

4
comments:

Thanks for the insight on the current status of the programming community. Fortunately I haven't experienced unpleasing interactions so far, but I can see how your point can be true.And of course, will read Marick's book when I have the time.