What is it?
Java is a platform-independent object-oriented programming
language developed by Sun Microsystems.
Sun is close to completing the open sourcing of its Java
platforms, which started with Java Enterprise Edition last year.
They are covered by the General Public Licence Version 2 also used
for GNU/Linux.
There are three Java platforms: Standard Edition (SE) for
desktops Enterprise Edition, based on SE but with added application
programming interfaces (APIs) for server-side computing and Micro
Edition (ME), which includes a set of configurations and APIs to
cope with the limitations of handheld and embedded devices.
Applications developed for any Java platform, on any hardware
and operating system, are compiled into machine-independent byte
codes and so will run unchanged on any other platform - hence the
boast "write once, run anywhere".
Where did it originate?
In the early 1990s, Sun's James Gosling was looking into ways of
developing C++ programs that could run on the widest range of
platforms without compiling. His solution became the Java Virtual
Machine (JVM).
What's it for?
The JVM is the key to Java's application-independence, and it
can run on top of most operating systems. Applications are thereby
able to operate consistently, regardless of the quirks of the
underlying platform. The Java Runtime Environment (JRE) includes
the Java APIs, JVM and other components needed to run
applications.
The Java Development Kit, a superset of the JRE, contains tools
such as compilers and debuggers.
What makes it special?
Both Sun and Java backers such as IBM make many claims for Java,
most at the expense of C++. They include greater code efficiency
(they say Java can be four times smaller than the corresponding
application written in C++) faster code (half the time needed for
C++) better coding practices, with automatic garbage collection
avoiding memory leaks more re-use, and faster and easier software
distribution.
Surveys have shown that developers believe Microsoft's C# is
overtaking Java in many functional and other respects. But despite
Microsoft opening it up, analysts say C# will probably never equal
the platform independence offered by Java.
How difficult is it to master?
Gosling was probably the last man to know everything there is to
know about Java. These days you need first to decide which part of
the Java platform to concentrate on. Thanks to Java's roots, C++
developers start with an advantage. Others will need to get to
grips with object-oriented programming techniques.
Where is it used?
According to Sun, there are more than 3.8 billion Java-enabled
devices worldwide.
What systems does it run on?
Java SE runs on top of Linux, Sun Solaris, Mac OS X and
Windows.
What's coming up?
The Java Development Kit is being open-sourced incrementally,
with completion expected in 2007.
Rates of pay
Salaries for Java programmers start at £25.000. With two years'
experience, you can look for £40,000. J2EE and Java ME specialists
are the best paid.
Training
Java training is available from many sources, although Sun has
overall control of certification. To become a certified programmer,
you will need to take two courses, available in the classroom (five
days each), online (15 and 28 hours respectively) or on CD Rom.
IBM's Developerworks site offers plenty of free resources.
www.sun.com/training/certification/java
http://www-128.ibm.com/developerworks/java