Notepad++ (Windows Only)
If you have Microsoft Windows, this is the best you can get, and is a great Notepad replacement. The user can customize everything from look and feel, to syntax highlighting, to built-in macros. It also comes with some really handy features such as "compare" and "find/replace in all files."
Vim (Mac OSX / Linux)
An offshoot of the text editor "Vi", Vim stands for "Vi improved." Vim has been the choice of many computer programmers for years. It runs in the UNIX terminal and comes standard with Mac OS as well as many Linux distros. Vim has a bit of a learning curve, but is great once you get used to it. This is mainly because it does not required a mouse and allows the user to edit files at lightning-fast speed. There is a free interactive tutorial online that is very helpful: http://www.openvim.com/tutorial.html. To run vim, simply type "vim" (without quotes) in your command line.
Emacs (Windows / Mac / Linux)
Emacs is similar to Vim in the fact that it is a favorite of many computer programmers. Vim lovers tend to argue that "Emacs is an operating system, not a text editor" because of the vast number of extensions you can install. In addition to being a text editor, Emacs can act as a web browser, FTP client, and much more! Download: http://www.gnu.org/s/emacs/
TextWrangler is a good Notepad (or Notepad++) alternative for Mac. It is very customizable, has good syntax highlighting, and comes pre-configured with a variety of languages (HTML, Java, C, etc). If you aren't up to dealing with the terminal and still want a graphical user interface, TextWrangler could be for you. Download: http://www.barebones.com/products/textwrangler/
JEdit (Cross Platform)
This is a great little text editor that is written in Java. Since it is written in Java, it can run on any platform. This would be a great software download to keep on your thumb drive or Dropbox account. It has all the features a good text editor needs: syntax highlighting, open/close parenthesis highlighting, and much more. If you want to be able to fire up your text editor from any computer (regardless of what kind) this is for you.
A good text editor can be an essential tool to have on a pc. If you are still relying on regular old Notepad, then you don't know what you're missing. A quality text editor can make learning to program a better experience, and is often a programmer's best tool.