According to the combined wisdom of the online pundits, Rich Hickey, the creator of Clojure, is set to become one of the most influential figures in technology within the next few years.

“I think programmers have become

inured to incidental complexity…

when they encounter complexity,

they consider it a challenge to overcome,

rather than an obstacle to remove.

Overcoming complexity isn’t work, it’s waste.”

Could he really become as well known as John McCarthy who created the Stanford Artificial Intelligence Project in 1964? Even before then, John had already made several towering contributions to the world of computing, including the LISP language, which became the standard for the AI researcher forty years ago.

The connection of course is that Clojure, (a pun on the closure programming construct) is an off-shoot or more correctly a dialect, of McCarthy’s creation. In Hickey’s case, it was a language designed for anyone wanting to write robust programs that are simple and fast.

So what was he trying to solve?

‘We suffer from so much incidental complexity in traditional OO languages, both syntactic and semantic, that I don’t think we even realise it anymore. I wanted to make ‘doing the right thing’ not a matter of convention and discipline, but the default. I wanted a solid concurrency story and great interoperability with existing Java libraries,’ says Hickey.

He originally targeted both the Java Virtual Machine and the Common Language Runtime (CLR) but eventually decided he wanted to do twice as much, rather than everything twice, so chose the JVM because of the much larger open source ecosystem surrounding it. It has proved to be a good choice.

One of the biggest challenges in developing Clojure Rich adds was getting the persistent data structures right, with sufficient performance such that Clojure could be a viable alternative to Java and C#. Without that, the project would have stalled.

Hickey remains an independent software designer, consultant and application architect with over two decades of experience in all areas of software development and has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages. He lives in New York City.