Devoxx - Getting started with Clojure coding

Development Environment

This guide uses LightTable & Leiningen as the development environment.

Leiningen is the build automation tool used to manage Clojure projects, although Maven can also be used especially when developing a project using both Java and Clojure apps (rather than just calling Java from Clojure).

Just with other languages, there are many development tools you can use to support your Clojure development.

Some common setups

Some common setups I have seen in use for Clojure development are:

  • Modern - LightTable, Leiningen, Git
  • Live - Emacs, Emacs Live (with Cider), Leiningen, magit
  • Classic - Emacs, nRepl, Leiningen, Git
  • New - Cursive Clojure
  • Ubiquitous - Vim, nailgun, Leiningen, Git
  • Java Devs - LaClojure
  • Simple - Nightcode, Leiningen, Git
  • Classic Java Devs - Eclipse, Counterclockwise, eGit/Git
  • Lightweight - SublimeText, Leiningen, Git
  • Hardcore - Leiningen, cat, scp (only joking) There may be many more variations, however you should find a development environment with the following features:

    • REPL
    • Syntax highlighting & coloured brackets (eg. rainbow-delimiters in Emacs)
    • autocomplete
    • version control
    • snippets / templates
    • Inline documentation

add other features that are common in a Clojure development environment