Software Important to Have

A Text Editor

Note, a text editor is different from a word processor, in that no formatting (e.g., bold, italic, font size, etc.) of the text is allowed.

A SSH (Secure Shell) Client

An SSH client allows one to access and control (probably in some restricted way) a remote machine, such as a server, through a text-based interface.

A SFTP (Secure File Transfer Protocol) Client

An SFTP client allows one to transfer files back and forth between a local machine and a remote server.

The Java Development Kit

Developing Java programs requires that the Java Development Kit (JDK) be installed on your machine.

The Eclipse IDE...

While not required to develop Java programs, an integrated development environment (IDE) makes doing so a vastly more efficient process. Eclipse is considered to be the choice du jour of IDEs by many professional programmers.

To get started with Eclipse, you should install the "Eclipse IDE for Java Developers" which can be found here:

You will discover, as you use different applications to edit your code on different machines, that tab characters in your code can often be a nuisance. To this end, it is highly recommended, once you get Eclipse installed, to do the following, which will force Eclipse to use spaces instead of tab characters when indenting: