In this Clojure issue, four authors take on the Clojure language from four perspectives. And for balance, we also have non-Clojure articles by Jeff Langr, Tim Ottinger, Dan Wohlbruck, and John Shade.
Welcome to our first-ever Clojure issue.
Like most good inventions, this JVM-friendly Lisp dialect draws on the work of many but is the brainchild of one person—in this case, Rich Hickey. So although we’ve covered it before (in November 2010 and July 2009), we decided that it was time to devote a whole issue to Clojure. And we came to this conclusion on thermal grounds: Clojure is hot.
According to Chas Emerick, commenting on his 2010 State of Clojure Survey, “It seems clear that the Clojure community is growing, and growing fast.” Also, “very few people have come directly from Common Lisp and Scheme,” suggesting that the growth of Clojure is not just movement within the Lisp community. The metablog Planet Clojure now lists more than 250 blogs. Is Clojure the new Ruby? The last programming language? The future? It’s been called all these things.
Here are some resources so you can test the temperature and educate yourself: clojure.org, Clojure/core, Rich Hickey's Clojure Reading List, Planet Clojure metablog, Clojure.conj, disclojure: public disclosure of all things clojure, clojure google group, and Clojure links on Twitter
A Lively Community
One bit of evidence of vitality in a language is lively action in user groups. And Clojure has a lot of user group activity. So when I thought of putting together a Clojure issue, it seemed the logical thing to tap the user groups for articles. Not just because the lively and technically sophisticated discussions in user group forums led me to think they would be a good source of articles, which proved to be true, but also because I thought an open call to user group members might be a good way to get a feeling for the kind of discussion going on in the Clojure community.
But I wanted to hedge my bet by drawing on tested talent, so I solicited an article from Aaron Bedra of Relevance, who is working with Stuart Halloway on the second edition of Programming Clojure.
So the calls went out, the articles came in, and here’s the line-up:
Jeff Héon from the Montreal Clojure User Group leads off with an introduction to Clojure that highlights its capabilities for data manipulation. It’s a gentle intro that should let the reader new to Clojure get to know enough about the language to decide if it is worth pursuing further.
Then we swing to the other extreme. Steven Reynolds of the Clojure Houston User Group follows up with a deep dive into the internal representation of some Clojure collections. He illustrates the backing data for objects like a physician using an MRI to see the internals of their patient.
Aaron Bedra finds the pragmatic way between these extremes, walking you through the development of some Unix services in Clojure, with the knowledge and clarity that he’s putting into the next edition of Programming Clojure.
Then Ambrose Bonnaire-Sergeant of the Seattle Clojure User Group walks you through the creation of a small Clojure DSL, starting with common building blocks like conditionals and motivating more advanced mechanisms that Clojure uniquely provides, like Multimethods and ad-hoc hierarchies.
But Wait, There’s More...
Because there is more to life, even the coding life, than Lisp dialects, we’ve included a few other goodies. Jeff Langr and Tim Ottinger follow up last issue’s article on pair programming with a detailed list of benefits of pairing—benefits to the individual programmers, to the team, and to the management or the project. And Dan Wohlbruck takes us back in time to the birth of the Unix operating system, which celebrates its 37th birthday this month.
John Shade weighs in on a different birthday celebration, with some pointed comments on the industry’s most celebrated centenarian. Of course there’s the latest Events Calendar, telling you about where our authors will be appearing and other notable events, and Choice Bits, where you’ll learn that it’s good to be Branson.
And last but not least—no, actually it is least—we’ve added a page at the end of the issue in which we hint at things to come. It’s called “But Wait, There’s More...” In an open-ended way, it give the issue a sense of, uh, closure.