First let us define a programmers editor. We are talking about text editors that save their contents as plain ASCII or Unicode text with no control characters except for line end (CR, LF, and CR/LF), tab, and formfeed. Text editors differ from word processing programs because they lack support for things like multiple fonts, bold and italics, and columns. Do NOT attempt to write code using a word processing program like Microsoft Word. The compiler simply can't handle all the extra control characters. The most well-known text editor, at least to users of Windows, is Notepad. You could use it to write code but it would be like washing your car with a toothbrush. Possible, but extremely painful.
Programming editors have some extra features like syntax highlighting and bracket matching that you are going to love and they still save their files in plain text format that the compiler can digest. Syntax highlighting lets you click a word and all other instances of that word will be highlighted. Bracket matching lets you click on a curly brace and the matching brace will highlighted. Little features like this will save you a lot of time. Most of these editors will also allow you to customize the colors for better clarity in case you are color-blind or dyslexic.
You can find a huge list of editors here on Wikipedia but listed below are a few of the favorites as recommended by the staff of JavaRanch. They often differ in their features and you may want to try a couple of different ones before you find the one that's right for you. Unless noted otherwise, all of these will support the basic features of syntax highlighting, regex search and replace, tabbed interface for multiple documents, and multiple undo/redo. This list was accurate as of June 30, 2014.
Notepad++ - Windows, open-source, free - One of the all-time favorites, it features syntax folding, zooming, multiple-language support, bookmarks, macros, and plug-in support for things like spell checking and file diff.
Notepad2 - Windows, open-source, free - A small, fast replacement for Notepad it lacks some of the more popular features like a tabbed interface and split windows. It does not have spell-checking, code folding or auto completion.
Sublime Text - cross-platform, proprietary source, free eval, $70 U.S. for continued use. - Split editing across multiple monitors, command palette, distraction free full-screen mode, instant project switching, spell checking, and plug-in support.
EditPlus - Windows, proprietary source, free eval, $35 U.S. for continued use - Features an internal web browser and ftp client, macro support, auto completion, hex viewer, code folding, html toolbar, and document templates.
UltraEdit - cross-platform, proprietary source, free 30 day eval, $79.95 U.S. for continued use - This product brags about things like its ability to handle 4 gigabyte files and lines of 20,000 characters. Why you want to do either of those things is a mystery to me. It has pretty much every feature that's ever been crammed into an editor. I daresay this editor would take as long to learn as most IDEs, so I would not recommend it for beginners.
Crimson Editor - Windows, open-source, free - The code for this was split off and the plan was that it would be superseded by Emerald Editor but there is currently no ongoing development for either one. Crimson has not been updated since May 14, 2008. It still has some fans because it's small enough to fit on a floppy disk and still has all the features you would expect in a full-sized editor.
GNU Emacs - cross platform, open-source, free - This is the editor that everyone either loves or hates. It's extremely extensible and customizable and has enough complex key bindings to make your head swim. It's almost an IDE in itself. If you already know Emacs, then you will probably be comfortable with it. If you've never used it, you probably don't want to go down this road.
Vim - cross platform, charityware - Like Emacs this is a very customizable editor that's almost an IDE. It has a rather steep learning curve and is probably not a good choice for early beginners.
Geany - cross platform, open-source, free - A fast GTK2 based editor like Emacs but not as scary; it's more like Notepad++. It features a built in terminal window which is a unique feature. It does not support window splitting or text folding, but does support 21 different foreign languages.
Gedit - cross platform, open-source, free - The default editor for the Gnome desktop it has all the usual features plus file backups, remote file-editing, a powerful plug-in system and support for 82 foreign languages.
Pluma - Linux, open-source, free - This is a fork of Gedit and is the editor for the MATE desktop environment which itself is based on Gnome 2.
Kate - Linux, open-source, free - Part of the KDE desktop it has all the usual features plus an embedded terminal, SQL plugin, bookmarking, and highlighting support for 180 programming languages.
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop