a compiler to translate the Java source code into byte code
a copy of the libraries which provide, for example, GUI facilities
an interpreter which interprets the Java byte code to execute the program
If you write a Java program, you either write an applet or an application.
Therefore there are 2 types of interpreter - one type interprets applets (sometimes
called an applet viewer) and the other type interprets applications.
All these facilities are often bundled up into an integrated software development environment. These usually also provide an editor and a debugger. They also often provide a browser for looking at the contents of the library.
There are a number of commercially available
software development environments for Java. The major ones are:
Microsoft J++, but it looks like it is being phased out. Instead Microsoft
are offering a language called Visual J# .NET, which seems to be Java for
its .NET platform
You can often get these for free. For example, PC magazines sometimes issue a free CD that holds slightly out-of-date versions of packages.
Alternatively it may be better to use a free package:
Sun's Java Software Development Kit (SDK) - a command line interface to
the compiler and interpreter. See the Sun
Microsystems web site for Java . A problem: this is a large download.
Japa
- an integrated software development environment for beginners, available
free for download. This is simple, small and easy to use. It has a GUI. It
is also a small download. Windows platforms only. It has been developed by
Mike Parr. It works in conjunction with Sun's Java SDK (which must also be
downloaded), but an older and much smaller version of the SDK is available
on the Japa site. This is really good.
BlueJ - is also
an integrated software development environment for beginners, available free
for download. This also is simple, small (about 1.3 megabytes) and easy to
use. It works in conjunction with Sun's Java SDK (which must be separately
downloaded) and is available for Windows, Mac OS and as a portable Java program
for any machine that supports Java.
Versions of Java
It can be difficult to keep track of the way that Sun (who maintain Java) refer to different versions of Java. The current mainstream version is called Java 2. But within that name are various releases - Java 1.2, 1.2.2 etc. Java 1.2 actually became the first version of Java 2 when Sun reckoned that Java had become sufficiently stable to relaunch it as Java 2.