Clojure – Dynamic and Functional Programming Language for the JVM

Written By Sam on 12 September 2009

Recently I was reading about Lisp programming language and came across Clojure. Clojure is a dynamic and general-purpose programming language that combines the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure runs on the Java Virtual Machine.


Clojure is a compiled language and it compiles directly to JVM bytecode. Clojure’s syntax is built on S-expressions where the code is first parsed into data structures by a reader before being compiled. All the feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.

Clojure is predominantly a functional programming language and features a rich set of immutable, persistent data structures and offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. By compiling the code into JVM Byte code Clojure applications can be easily packaged and deployed to JVM’s and app servers. It also provides macros which make it simple to use existing Java API’s.

Visit Clojure Homepage

Leave your response!