The 2 main programs I use for coding are Notepad++ or NetBeans. The latter I usually use for Java, JSP, configuring my XML server files and J2EE but it does also support writing CSS and HTML, however, testing your work client-side is easier and quicker with Notepad++, plus the program takes less time to learn how to use.