# Clojure

> dialect of the Lisp programming language

**Wikidata**: [Q51798](https://www.wikidata.org/wiki/Q51798)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Clojure)  
**Source**: https://4ort.xyz/entity/clojure

## Summary

Clojure is influenced by ML, Common Lisp, and Lisp.[1].

## Summary
Clojure is a functional programming language that is a dialect of Lisp. It was created by Rich Hickey and runs on the Java Virtual Machine, allowing it to leverage Java libraries and infrastructure.

## Key Facts
- Created by Rich Hickey, an American chief technology officer, in 2007
- A functional programming language based on Lisp principles and the lambda calculus
- Runs on the Java Virtual Machine (JVM) and can also compile to JavaScript via ClojureScript
- Licensed under the Eclipse Public License
- Latest stable version is 1.9.0 (released December 8, 2017)
- Influenced by ML, Common Lisp, and Lisp
- Competes with Java, PHP, Python, Go, and JavaScript in various development contexts
- Has a strong typing discipline with dynamic typing capabilities

## FAQs
### Q: What is Clojure used for?
A: Clojure is used for general-purpose programming, particularly in enterprise backend development, web development, data analysis, and concurrent computing. It's especially popular for building scalable systems that leverage functional programming principles.

### Q: Who created Clojure and when?
A: Clojure was created by Rich Hickey, an American chief technology officer, and was first released in 2007.

### Q: What makes Clojure different from other programming languages?
A: Clojure is a functional Lisp dialect that runs on the JVM, offering immutable data structures, first-class functions, and concurrency primitives. It combines the expressiveness of Lisp with the robustness of the Java ecosystem.

## Why It Matters
Clojure matters because it brings functional programming to the mainstream enterprise world by leveraging the Java Virtual Machine. It solves the problem of building robust, concurrent, and scalable systems while maintaining code simplicity and expressiveness. By combining Lisp's powerful macro system and functional programming principles with JVM's performance and library ecosystem, Clojure has created a unique niche in software development. It has influenced how developers think about state management, concurrency, and code organization, particularly in domains requiring high reliability and maintainability. The language's emphasis on immutability and pure functions addresses many common software bugs related to shared mutable state, making it particularly valuable for building complex distributed systems.

## Notable For
- Being a modern Lisp dialect that runs on the JVM, combining functional programming with enterprise capabilities
- Creating ClojureScript, a variant that compiles to JavaScript for web development
- Introducing persistent data structures and software transactional memory to mainstream programming
- Building a strong community around functional programming principles in enterprise contexts
- Influencing other languages and frameworks with its approach to concurrency and state management

## Body
### Technical Foundation
Clojure is built on the Java Virtual Machine, allowing it to run anywhere Java runs while maintaining compatibility with existing Java libraries. It also has implementations that compile to JavaScript (ClojureScript) and .NET (ClojureCLR). The language emphasizes functional programming principles, including immutable data structures, first-class functions, and lazy evaluation.

### Language Features
Clojure provides persistent data structures that share structure between versions, making it efficient to work with immutable data. It includes built-in concurrency primitives like atoms, refs, and agents, along with software transactional memory for managing state changes. The language supports both strong and dynamic typing disciplines, offering flexibility in how developers approach type systems.

### Ecosystem and Tools
The Clojure ecosystem includes tools like Leiningen for project management, CIDER for Emacs integration, and Cursive for IntelliJ IDEA. It has strong integration with build tools like Maven and Gradle, and can leverage the entire Java ecosystem. The language has a package manager (Clojars) and supports various development environments and editors.

### Community and Adoption
Clojure has a dedicated community that has built numerous libraries and frameworks around the language. It's used by companies like Walmart, Amazon, and Netflix for various backend services. The language has influenced other programming languages and frameworks, particularly in how they handle concurrency and functional programming concepts.

### Development Philosophy
Clojure emphasizes simplicity, clarity, and data-oriented programming. It encourages developers to think in terms of transformations on data rather than object-oriented hierarchies. The language's homoiconicity (code as data) enables powerful metaprogramming capabilities through macros, allowing developers to extend the language itself.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Clojure",
  "description": "A functional programming language that is a dialect of Lisp, created by Rich Hickey in 2007",
  "url": "https://clojure.org/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Clojure",
    "https://www.wikidata.org/wiki/Q328"
  ],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [Source](https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap)
2. [Source](https://clojure.org/community/license)
3. [The clojure Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/clojure/analyses/latest/languages_summary)
4. [Source](https://clojure.org/community/downloads_older)
5. [Release 1.7.0. 2015](https://github.com/clojure/clojure/releases/tag/clojure-1.7.0)
6. [Source](http://clojure.org/news/2016/01/19/clojure18)
7. [Release 1.8.0. 2016](https://github.com/clojure/clojure/releases/tag/clojure-1.8.0)
8. [Release 1.6.0. 2014](https://github.com/clojure/clojure/releases/tag/clojure-1.6.0)
9. [Release 1.5.1. 2013](https://github.com/clojure/clojure/releases/tag/clojure-1.5.1)
10. [Release 1.4.0. 2012](https://github.com/clojure/clojure/releases/tag/clojure-1.4.0)
11. [Release 1.2.1. 2011](https://github.com/clojure/clojure/releases/tag/1.2.1)
12. [Source](http://central.maven.org/maven2/org/clojure/clojure/1.9.0/)
13. [Release 1.9.0. 2017](https://github.com/clojure/clojure/releases/tag/clojure-1.9.0)
14. [Release 1.0. 2009](https://github.com/clojure/clojure/releases/tag/1.0)
15. [Release 1.1.0. 2010](https://github.com/clojure/clojure/releases/tag/1.1.0)
16. [Release 1.2.0. 2010](https://github.com/clojure/clojure/releases/tag/1.2.0)
17. [Release 1.3.0. 2011](https://github.com/clojure/clojure/releases/tag/clojure-1.3.0)
18. [Release 1.5.0. 2013](https://github.com/clojure/clojure/releases/tag/clojure-1.5.0)
19. [Release 1.10.0. 2018](https://github.com/clojure/clojure/releases/tag/clojure-1.10.0)
20. [Release 1.10.1. 2019](https://github.com/clojure/clojure/releases/tag/clojure-1.10.1)
21. [Release 1.10.2. 2021](https://github.com/clojure/clojure/releases/tag/clojure-1.10.2)
22. [Release 1.10.3. 2021](https://github.com/clojure/clojure/releases/tag/clojure-1.10.3)
23. [Release 1.11.0. 2022](https://github.com/clojure/clojure/releases/tag/clojure-1.11.0)
24. [Release 1.11.1. 2022](https://github.com/clojure/clojure/releases/tag/clojure-1.11.1)
25. [Release 1.11.2. 2024](https://github.com/clojure/clojure/releases/tag/clojure-1.11.2)
26. [Release 1.11.3. 2024](https://github.com/clojure/clojure/releases/tag/clojure-1.11.3)
27. [Release 1.11.4. 2024](https://github.com/clojure/clojure/releases/tag/clojure-1.11.4)
28. [Release 1.12.0. 2024](https://github.com/clojure/clojure/releases/tag/clojure-1.12.0)
29. [Release 1.12.1. 2025](https://github.com/clojure/clojure/releases/tag/clojure-1.12.1)
30. [Release 1.12.2. 2025](https://github.com/clojure/clojure/releases/tag/clojure-1.12.2)
31. [Release 1.12.3. 2025](https://github.com/clojure/clojure/releases/tag/clojure-1.12.3)
32. [Release 1.12.4. 2025](https://github.com/clojure/clojure/releases/tag/clojure-1.12.4)
33. [Source](http://clojure.org/)
34. [Source](https://github.com/clojure/clojure-clr)
35. [Source](https://github.com/clojure/clojurescript)
36. Freebase Data Dumps. 2013
37. [Source](http://cdn.oreilly.com/oreilly/booksamplers/9781449394707_sampler.pdf)
38. [Source](http://dev.clojure.org/display/community/Contributing)
39. [Source](http://clojure-doc.org/articles/ecosystem/community.html)
40. National Library of Israel