Editors
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).
If the editor you use is missing, please send the instructor an email.
Quick Choice Guide
Use spacemacs if you want to use what the instructor uses, try LightTable and see how that goes.
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.
What to expect:
- Non-modal; control and alt keys used for motion and commands.
- Emacs Lisp extension language is very powerful.
- Strong Lisp support
- Steep learning curve, but huge payoff.
- Long-term use may cause RSI, consider using the
evil
plugin, which has emacs emulate vim, for a best-of-both-worlds experience. - It will become a religion and you will be compelled to fight for its honor when compared to Vim.
Emacs Links
Using Clojure
- You will want to install a package called
cider
to use Clojure inemacs
. See the github page for a quick-start guide and reference.
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:
- Modal — there are separate modes for motion and editing.
- The keyboard shortcuts are the fastest of any editor.
- Steep learning curve, but huge payoff.
- It will become a religion and you will be compelled to fight for its honor when compared to Emacs.
Vim Links
Using Clojure
- To use Clojure within Vim, one of the better packages is called
fireplace
.
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
- Modal — there are separate modes for motion and editing.
- Emacs Lisp extension language is very powerful.
- Strong Lisp support
- The keyboard shortcuts are the fastest of any editor.
- Steep learning curve, but huge payoff.
- It will become a religion and you will be compelled to fight for its honor. The emacs and vim people will both consider you to be slightly traiterous.
Spacemacs Links
Using Clojure
- To use cider, activate the Clojure Layer.
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). Even if you do not end up using it, you should give it a try, because the insta-repl feature is amazing.
What to expect:
- New editor, designed especially for Clojure.
- Has an embedded insta-repl which allows you to see results as you type.
- It will automatically download Clojure for you!
LightTable Links
- Editor Homepage
- Tutorial
- Documentation Please read this.
Notepad
“Can I just use Notepad?”
What to expect:
- Nothing to install, it comes with Windows.
- For programmers content with third-rate tools.
- Nobody cares enough to fight for its honor.