Clojure

What Does Clojure Mean?

Clojure is a dynamic programming language that is a dialect, or variant, of the Lisp programming language. It is designed to be general-purpose and combines the interactive development and approachability of a scripting language with a robust and efficient infrastructure used for multithreaded programming.

Advertisements

It is also a compiled language that compiles directly into JVM bytecode while remaining completely dynamic.

Techopedia Explains Clojure

Clojure was developed by Rich Hickey as a dialect of Lisp that directly targets the Java Virtual Machine (JVM). Because of this, it shares the code-as-data philosophy and the powerful macro system of Lisp. It is predominantly considered a functional programming language that features a set of immutable and persistent data structures.

Clojure also has a software transactional memory system when a mutable state is required, and a reactive agent system, which ensures that multithreaded designs are correct and clean.

The features of Clojure include:

  • Tight Java integration where applications are easily packaged and deployed to JVMs and other application servers
  • Functions are considered first-class objects
  • Dynamic development with a read-eval-print loop
  • Emphasis is given to recursion and other higher-order functions as opposed to side-effect-based looping
  • Provides immutable and persistent data structures such as hashmaps, lists and sets
  • The agent system, dynamic var system and software transactional memory allows concurrent programming
  • Multimethods allow dynamic dispatch on the values or types of any arguments
Advertisements

Related Terms

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…