Clojure

Clojure resources

Books

Essentials

  • Leiningen - Build Automation for Clojure

Editors / IDE’s

  • LightTable - modern development environment for Clojure, ClojureScript & JavaScript
  • NightCode - designed to teach Clojure
  • Emacs & Emacs Live - powerful development environment used by many Clojure developers

Videos

What is Clojure ?

Clojure is a modern dialet of the programming language LISP, running on the Java Virtual Machine and encouraging a functional approach to software development.

What makes a programming language functional ?

A functional programming language has several properties

  • Functions evaluate to values
    As every function evaluates to a value, then you can use a function as a parameter to another function. In clojure we refer to this as first class functions.

  • Imutability

Imutability means that things do not change. When thinking about state, this means that once a data structure or variable is defined, you cannot change its value. For example in Java, it would be like declaring all your data structures as final.

  • Funtions return a value (First order function)

When a function is evaluated it will alway return a value

Why Clojure

Beautiful language syntax
Highly productive language
Easy to write readable code (especially using doto / threading macros -> –>)
Writing scalable code easier
Immutability - keeping code more deterministic - no side effects
World of Java & other JVM libraries available


This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License, including custom images & stylesheets. Permissions beyond the scope of this license may be available at @jr0cket
Creative Commons License