Java is said to offer cross-platform compatibility, but Sun still
controls the language, writes Nick Langley
What is it?
Java was introduced as a way of developing operating
system-independent "applets" for desktop systems. Then the focus
moved to the server side, getting a huge boost when IBM adopted it
as its strategic development language for everything from the
mainframe to handheld systems. More recently, Java has become a key
technology for the wireless Web and Web services.
Where did it originate?
At Sun Microsystems, in 1991. James Gosling was trying to find a
way of developing C++ programs that could run on the widest
possible variety of platforms without recompiling.
This was no dry laboratory exercise. "We were trying to build a
distributed system that would make sense as a business product, to
sell modern software technology to consumer electronics
manufacturers," Gosling explains.
The first Java Developer's Kit was released in 1995.
What's it for?
In recent years most effort has been put
into server-side development, but the rise of J2ME (Java 2 Micro
Edition) and technologies such as the J2ME Wireless Toolkit and
Java Web Star have brought attention back to the client.
J2SE (Java 2 Standard Edition) is for building and deploying
client-side applications. J2EE (Java 2 Enterprise Edition) is for
multi-tier applications, based on re-usable components called
Enterprise Java Beans.
What makes it special?
It should be possible to deliver
any Java application over a network, or the Internet, to any
platform, without operating system or hardware compatibility
issues.
The original Java mantra was "write once, run anywhere". This was
supposed to contrast with Microsoft lock-in. But despite the Java
Community Process, and nods to open source developers, Sun will not
release control of Java to an independent body.
How difficult is it?
C++ developers and those with
object-oriented programming experience can become productive after
just one week's training. You will get more out of Java training if
you learn object-oriented concepts and techniques beforehand.
"Making up your mind as to what portion of the Java platform you
want to specialise in is perhaps tougher than learning the
language," says Sun's Java evangelist Raghavan Srinivas.
Where is it used?
Everywhere from programmable toasters
to the heart of the datacentre.
Don't confuse
The Java "write once, run anywhere"
mantra with the graffiti artists' version: "write anywhere,
run".
What does it run on?
Any platform that has a Java
Virtual Machine - the runtime environment that interprets compiled
Java code and performs the required actions. With J2ME, Java is
being built into mobile phones, TV set-top boxes and smartcards.
Few people know
How many Java developers there are. Sun claims there are three
million but admits it cannot be sure.
What's coming up?
The Java Web Services Developer Pack,
second early release, is available from
www.java.sun.com/. It
is tested for Windows 2000, Windows XP Professional, Solaris and
Red Hat Linux.
Training
Sun and IBM are the obvious sources, and the
majority of independent training organisations also offer Java. But
if you don't want to pay up to £1,500 for a week in the classroom,
there are plenty of free tutorials. Try for example
www.java.sun.com/,
www.ibm.com/developerworks/java,
www.java.about.com/,
www.javashareware.com/,
www.javacoffeebreak.com/,
www.developer.java.com/
or
www.java.apache.org/.
The hard-copy Java bibles come from O'Reilly (
www.java.oreilly.com/).
Rates of pay
Salaries start at £18,000 for trainee
developers and rise to upwards of £50,000 for the very experienced.
Wireless Java and Java security are among the hottest skills,
commanding £30,000 to £55,000. Experienced J2EE architects could
receive £70,000 or more.