Java is one of the most popular programming languages. The main advantage of Java is the cross-platform capabilities. Probably the most important feature is that it is very different. The code is not compiled like c++ or other compiled languages. In the C++ case, a program that is compiled on windows won’t work on other operating systems. This causes a lot of compatibility issues.

On the other side java code is interpreted on run-time, but as you may think, you need another layer to do the job. This is why Java never works stand alone and you need what it is called a java virtual machine. It is nothing complicated, on Windows is just like any other software you install and forget about it.

Can Java apps to run on the web ? Yes, in fact they are somewhat popular, but it is not the best solution. If you want to run a Java applet on a website you need to have the java virtual machine installed on your computer. You can install it very fast, but if you are a webmaster you can’t assume that all your users have it installed. This is why most webmasters avoid placing Java applets on websites. Other reason is that it is hard for Java applet to interact with other elements on a webpage.

On websites, javascript is widely used, which is a scripting language derived from Java. Practically it is the same language, but you can add the code anywhere on a webpage if you specify that it is javascript code and it will be interpreted right away. Javascript is used on most websites these days.

There is a middle way here, where Java developers can use their skills to write web apps without causing compatibility problems. There is a Google Project that very few are aware of. It is part of Google web toolkit, and they provide you some libraries you can use for java development, create the app you want to run on your website and compile it ( using the provided compiler ) into javascript code. It is simple as I say it. Things are more complicated, you have to use a IDE, for example eclipse, load the libraries, configure it to use the GWT shell and compiler and then upload the files to your web server, but at least you have a starting point.