Clojure is an elegant language for a more civilized development experience. Clojure encourages the creation of simple software systems by being immutable by default and encouraging 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 beging 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
Presentation slides (pdf format)
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 the software industry has been in the past.