A program whose main function is composing and modifying text files, without
embedded formatting for font, colour etc. A word processor, in contrast, creates
proprietary format files that encode font, colour, size etc. One of the main
uses of an editor is preparing Java source code or HTML for web pages. Every IDE
comes with an editor. A editor might be used to create HTML, which has text
formatting, but you work with raw text tags.
What features are important?
-
Programmability gets more important over time as you learn to automate
repetitive tasks. Programmability also lets you correct errors in the editor's
design.
-
An editor often has a feature to invoke the compiler without leaving the editor.
It can analyse the error messages and jump you to the next error in your source
with single keystroke.
-
They should do syntax colouring, or they are useless for Java.
-
For serious work you will need a diff function for comparing file versions
-
You also need a code beautifier so that all code is formatted in a standard way
before committing it to the repository
-
Programmers are notoriously bad spellers. A spell checker can help with
documentation and choosing meaningful variable names.
-
Editors don't have integrated debuggers. If they did, they would be called IDEs.
-
There are editors specialised for editing HTML such as Dreamweaver. These could
be thought of as a specialised sort of word processor.
Your choice of editor is crucial. You will use it more than any other program.
It is very hard to switch editors, because they each work differently, and you
do most of your editing without conscious thought about the particlar keystrokes.
My favourite editor is SlickEdit. My least
favourite editor is EMACS.
Programmable editors include:
-
programmable in SlickC. Can also interface with DLLs. It is fast, powerful and
extensible. On the downside, I would prefer its macro language were Java rather
that SlickC. It is available for Windows, Linux, Solaris etc. About
.
-
About
.
-
Programmable in its own macro language. It is fast capable of handling many
documents simultaneously. It is available only for Windows.
-
EMACS
programmable in LISP. A religion rather than an editor as you will find out if
you ever say anything unkind about it. Works in ways quite unlike any other
Windows/NT program. Even the mouse works a different way. You can think of it as
a programming environment. Free. It can be made more CUA-like
with this script.
-
particularly good for columnar tasks. Formerlay Premia. Programmable in macros
similar to C. Can also interface with DLLs. About
.
-
VIM
A VI clone often distributed with Unix. It adds functionality to VI for programmers.
It is not a user-friendly editor, more in the tradition of EMACs with a long learning curve.
Non programmable editors include:
-
has syntax colouring. Only
to register.
-
simple editor.
-
easy for beginners. Runs well on modestly powered machines.
-
Notepad
comes free with Windows. Has nothing else to recommend it other than ubitquity.
Best to test drive an editor before purchase. You may hate something others like.
I invite you to tell me about your favourite editors, where you can get them,
and what you like/dislike most about them. What counts as a high end editor vs a
low end IDE is a gray area. Editors are typically much faster which is why I
prefer them to IDEs for all but debugging.