Site updates
Testing New System now...

Using a Good Editor

A good editor can help prevent mistakes, and generally speed up your coding process. If you're still using Notepad or similar to create your files, it's time to switch. Here are some features to look out for:

Code colouring
Different elements (strings, constants, functions, objects, etc.) are displayed using different colours, font weights, etc. Mistakes such as missing closed quotes become obvious. Some editors maintain a list of valid function names, which get highlighted. Mistyped ones therefore look different and stick out.
Bracket matching
Mismatched brackets can cause problems. Sometimes, nesting of brackets is hard to follow. A good editor will show the matching bracket when the cursor is at another.
Flexible views
Sometimes, it's useful to split your screen up, and have two files (or two parts of the same file) visible at once. For example, to view a similar piece of code when writing a new one.
Coding style control
Keeping to consistent indentation within your code will aid readability, and help reveal bugs. Similar formatting rules can apply to other areas. A good editor will help you keep to these rules.
Compile from the editor
Rather that keeping command-line windows open for compilation, some editors have compile options.
Incremental search
Instead of typing in the whole search term, then getting an answer, the term is searched for as you type it in. It's much faster, as you only need type as much as is needed, and can quickly modify your terms if needed.
Autosave / Backup save
Machines crash. People mess up. Automatic backups save your neck. Insist on them.

My current favourite editor is jEdit. One thing to note is that a lot of the functionality comes from plug-ins. This allows you to pick which features you'll need. It also means the editor can appear a little plain at first. You may wish to read the previous article on EMACS, which is fairly nice, but with a could-be-better UI.

NOTE: The Java section is mostly in maintenence mode. I don't have time to work on it right now. Errors will be corrected if pointed out, but they are not actively being searched for. Newer site features, like alternate stylesheets, may cause problems with these pages.