Clojure - An Introduction
Clojure is a dynamically typed, functional programming language available on the JVM. A significant benefit of functional programming is the ease with which the languages can be used to program concurrency. It does this through immutable state. Functions are only dependent on the arguments passed into it, and do not modify any global data. As a result, there are no side affects.
Recently, R. Mark Volkmann put together an excellent Clojure tutorial. The tutorial is very thorough, including information on how to download and get started with Clojure. To provide some perspective for Java developers not familiar with Clojure, the first example shows the same simple program implemented using both Java and Clojure code. There is also a great section on Java interoperability, showing the syntax for how Clojure programs can leverage the Java API.
There's been a lot of innovation in the programming language space the past few years, with more to come going forward. With the JVM supporting an ever expanding number of programming languages, the barrier to adoption has been reduced significantly. Development teams can adopt a new language while still leveraging their existing platform investments. In other words, the ops guys don't know it's not Java. Find the time to check out this tutorial. It's worth it!