Programming Clojure

CJUG Downtown Presentation: 2009-08-05.

Clojure is a dynamic language for the Java Virtual Machine, with a compelling combination of features:

* Clojure is elegant. Clojure’s clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony.
* Clojure is Lisp reloaded. Clojure has the power inherent in Lisp, but is not constrained by the history of Lisp.
* Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones.
* Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory.
* Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer.
* Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code.

Many other languages offer some of these features, but the combination of them all makes Clojure sparkle.

Presenter: StuartHalloway

Stuart Halloway is the CEO of Relevance, Inc. With co-founder Justin Gehtland, Stuart helps companies adopt agile, as well as innovative technologies such as Clojure and Ruby on Rails. Stuart is the author of Programming Clojure, Rails for Java Developers, and Component Development for the Java Platform. Prior to founding Relevance, Stuart was the Chief Architect at Near-Time, and the Chief Technical Officer at DevelopMentor.

You can follow Stuart on Twitter.


Image from Cognitect website, assumed allowed under Fair Use.