Java Tutorial/Choosing the right text editor

An important aspect of every programming language is your code editor. The editor allows you to type your program in plain text and save it in the file format of your language. There are a huge number of text editors to choose from, ranging from the most basic to advanced. The most basic editors simply allow you to type your code manually and save it in a file format of your choice. The most advanced being Integrated Development Environments (IDEs). There is no universal best choice in picking your editor. You have to try them out and see which one works best for you.

Simple editors
Simple editors are editors that take up very little CPU and RAM. They are recommended for computers low on either or both of these things. Recommended for small simple programs/projects. However, for large projects, you will have to manually compile every program, and your code is not automatically formatted.

Notepad
Notepad is one of the simplest Graphical User Interface (GUI) text editors. It comes installed with Windows and should be on almost Windows computer that hasn't uninstalled it.

Pros:
 * Simple to use
 * Requires very little CPU and RAM usage

Cons:
 * No special tools to speed up programming process (e.g. no auto-indent)
 * No color-coding to help enhance keywords
 * Very limited

TextPad
Download Textpad from here pros
 * Auto-indent
 * Color coding
 * In-built Compiler
 * All functions needed for a text editor

Notepad++
Notepad++ is almost an upgraded version of Notepad. It is a free editor available on SourceForge. I personally prefer this editor because it is very multi-functional, providing support for many programming languages in addition to just plain text.

Pros:
 * Very multi-functional
 * Color coding, bold keywords, auto-indent

Cons:
 * Cannot predict what you are going to type next
 * Cannot show you syntax errors

Available at http://notepad-plus.sourceforge.net/uk/site.htm

Advanced editors (IDEs)
IDEs are very powerful tools in the programming and can dramatically speed up the programming process in large projects, and even smaller projects. However, on older computers IDEs can be very slow and take up a lot of RAM. Additionally, they can cause a little more trouble when writing programs with single files, or copying programs from a website like this one (unless they need packaging, which can be difficult).

Essentially, use IDEs for large or medium sized projects, but when programming small single-file applications, use a simple editor.

Eclipse
Available at http://www.eclipse.org/

Netbeans IDE
Netbeans is very advanced, runs on several operating systems and has functions for organizing projects, using CVS, automatically checking your code as you type, etc.

Pros:
 * Runs on several operating systems
 * Color coding, bold keywords, auto-indent
 * Can organize your code into projects
 * Predicts what you will type next so that you don't have to type it
 * Automatically checks for errors in your code as you type
 * Automatically builds your project into .class or .jar files

Cons:
 * Does not have many functions for non-project files
 * Might run slowly on older computers

Available at http://www.netbeans.org/

Note
There are many more editors out there, some free and some not. The editors listed above are only the ones I have used at one time or another. Poke around the web and see what you can come up with. If one editor just doesn't work for you, try another. If you try one that I have not listed above, feel free to add onto the list and give your own opinions on it.

If you see a mistake in my descriptions of editors, please correct me as I want this to be an accurate and comprehensive list.