Java is one of the world's most widely used programming languages. It allows developers to write applications for the desktop, the web and enterprise networks. This flexibility is one of its greatest strengths; it is also considered to be a relatively easy language to learn to develop in. You can use Java to write a number of applications, including an instant messaging program.
Download the Java SDK. This is a bundle that includes the major components that you will need to develop in Java. There are versions of the package freely available form Oracle for Linux, Mac OS X and Windows. Once you have downloaded the packaged, double-click it to begin the installation process.
Download and install an IDE. IDE's simplify the development process by keeping your files and any art assets that your application might require. There are a number of free and open-source IDE's that you can download from the Internet. Popular choices include Eclipse, NetBeans and jEdit (see Resources). Download a few IDE's and play around with them to decide what tool you are most comfortable with.
Click on "File," then "New" to create a new Java project in the IDE of your choice. You will be required to name the project and decide where you would like it to be stored; note that if you are using a cloud storage solution, you are free to save your project and its assets to that location.
Design your application's user interface. Unfortunately, your options for designing a user interface are limited only by your imagination. However, for an instant messenger application, there are a few common things to include in your user interface. One of the main ones is a send button. You can create the object using any graphics creation program, such as Adobe Photoshop or the free and open-source Inkscape. You will also want to design your own application icon; luckily, you can do this in a similar way and with the same program as the send button.
Code the actual functionality of your application. Again, it is difficult to provide specific lines of code, since there are a number of instant messaging protocols and ways that your application can interact with those protocols. It is also possible that you may want your application to be able to work with a number of popular instant messaging protocols, such as AIM and Google Talk. Consult the documentation of the particular protocols that you are interested in working with, as they are subject to change.