In order to program effectively, you will need a good editor. The good news is you have many choices. The “bad” news is that you will need to learn how to use them effectively. But the work you put into it will pay for itself quickly.

Following is a list of editors. Most of these work on the Three Platforms (Linux, Mac, and Windows).

Quick Choice Guide

Probably the best thing for now is to use Emacs. You should try LightTable anyway to see how it goes for you, but it is still too alpha quality to recommend for our class.

Emacs

Emacs is an ancient editor, and is still being actively developed. It is a general purpose editor, and extendable via a language called Emacs Lisp (a language in the same family as Clojure). It is arguably (and people will argue over this) the most capable editor ever made. This is the one the instructor uses, though with the Vim keybindings (see the Vim section below).

What to expect:

Using Clojure

Vim

Vim is an extension of the ancient editor VI. It has an opposite philosophy of Emacs. It is small, assumes you can touch-type, and is not quite as extendable as Emacs.

What to expect:

Using Clojure

Spacemacs

Spacemacs is emacs configured to act like vim. This is the editor the instructor uses in class. You get to have the best (worst?) of both worlds.

What to expect

Using Clojure

LightTable

LightTable is a new editor designed from the ground up to make editing Clojure something wonderful. It was even written in Clojure (the Clojurescript dialect). One day this will be the editor of choice, but it is still a bit too new and unstable to recommend to everyone. That said, you should give it a try, because the insta-repl feature is amazing.

What to expect:

Notepad

“Can I just use Notepad?”

What to expect: