ALERT

[FREE DEMO] Deploy Your Enterprise Cloud in Minutes

Clojure

Definition - 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.

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

Techopedia Deals

Connect with us

Techopedia on Linkedin
Techopedia on Linkedin
Tweat cdn.techopedia.com
"Techopedia" on Twitter


'@Techopedia'
Sign up for Techopedia's Free Newsletter!

Email Newsletter

Join thousands of others with our weekly newsletter

Resources
The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.