Clojure: Up To Speed
Clojure is an elegant language … concise, and expressive, without going overboard (I'm looking at you Haskell!). Weaving together the language itself, the immutable collection types, the carefully crafted mutable reference types, lazy evaluation, and the macro capabilities, results in a pretty comprehensive set of tools that can be applied to your hardest, and most interesting, problems.
Clojure is all about creating a sane and scalable approach to dealing with complex problems … including dealing with concurrency, which normally makes even the simplest programs complex. Combining immutable collections with well-defined reference types (mutable slots with well defined concurrent behavior) gives Clojure a leg up on solving challenging and interesting problems. Of course, part of the point of Clojure is full interoperation with Java; we'll see how easily Clojure functions and Java objects can work together. At the other end of the spectrum, we'll see how Clojure macros allow you to add new language features to Clojure … in Clojure itself!
About Howard Lewis Ship
Howard Lewis Ship is the original creator of the Apache Tapestry project, and is a noted expert on Java framework design and developer productivity. He has over twenty years of full-time software development under his belt, with over fifteen years of Java. He cut his teeth writing customer support software for Stratus Computer, but eventually traded PL/1 for Objective-C and NeXTSTEP before settling into Java.
Howard has been developing financial and e-commerce applications in 100% Clojure since 2012.
Howard currently works for Wal-Mart's Global E-Commerce division. He lives in Portland, Oregon with his wife Suzanne, and his children, Jacob and Olivia.
More About Howard »