Clojure is an elegant language for a more civilized development experience. Clojure encourages the creation of simple software systems using immutable values and encouraging a pragmatic approach to pure functional design.
Learn Clojure concepts as you experiment with the language
Ten Big Ideas plus one
Each of these ideas is valuable by itself, not only in Clojure. Taken together, however, they Begin to fill in the picture of why Clojure is changing the way many programmers think about software development.
- Extensible Data Notation
- Persistent Data Structures
- Dynamic Development
- Async Programming
- Logic query / Logic Programming
- Atomic Succession Model
Antithesis of Clojure and simple software design
In Narcissistic Design by Stuart Halloway, the antithesis of the Clojure view of software development is presented as a description of how unproductive and valueless much of the software industry has been in the past.