By this point in your CS career, you have probably picked out an editor. But just in case you haven’t, here are some things to think about.
Your editor is the most important tool you will use as a programmer or a writer. You will want your tool to work with you to get things done, not against you. A good editor should allow you to jump to a particular line number (in response to an error message, for instance), auto-indent your code (which can help you spot syntax errors early on), perform syntax highlighting, and perhaps even parse error messages for you. Some editors can even host the REPL so you can use the editor keys to interact with your program.
The good news is you have many choices for a good editor. 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).
Emacs is an ancient editor, and is still being actively developed. It is a general purpose editor,
and extendable via a language called Emacs
evil
plugin to use the vim
keybindings instead.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.
This is the editor the instructor uses. It is emacs, but with the vim keybindings, tons of preconfigured customizations, and a new way of entering commands that won’t give you RSI.
emacs
and vim
. (But there are several people at UIUC who use it!)emacs
and vim
keybindings very easily if you need to.You will want to enable the haskell
layer to use spacemacs
in this course.
ghc-mod
Spacemacs uses this to do some of its work. Here’s how to install it.“Can I just use Notepad?”