Strong Sun/IBM support and over four million developers
What is it?
In its tenth anniversary year, with claims of 700 million Java-enabled PCs and over four million developers, Java is harder to get a handle on than at any time in its history. Even within the Sun Microsystems-driven mainstream there are dozens of technology initiatives beginning with "J" and Sun has not helped by changing the names of product families almost as often as Microsoft does.
In parallel, there are full open source projects, including the Netbeans and Eclipse Integrated Development Environments, and some semi-open source exercises, like Sun's decision to release the JDK (Java Developer's Kit) 5.0 source through its own Community Source and Java Research Licences.
The newcomer to Java is like a visitor to a town where everybody knows the bus timetables, so nobody bothers to print them.
IBM has probably been more influential than Sun in the promotion and uptake of Java. The two companies recently announced a joint vision for Java until 2016.
Where did it originate?
At Sun in the early 1990s. James Gosling was trying to find a way of developing C++ programmes that could run on the widest range of machines without compiling, and the Java virtual machine (JVM) was born. You can read Gosling's 1996 white paper, The Java language environment, at: java.sun.com/ docs/white/langenv/
What's it for?
Java is both an object-oriented programming language, and a platform. Thanks to the JVM, Java programs are effectively both compiled and interpreted. Java programs can run on any system that has a version of JVM.
Java is used to develop both large-scale server side and client side applications, including mobile clients. Sun claims 708 million Java-powered phones.
What makes it special?
The Java mantra is "write once, run anywhere" - anywhere there is JVM, that is. Other strengths include scalability, from PDA to mainframe.
How difficult is it to master?
Java has a lot in common with C++, and C++ developers can become productive after a week's training. If you don't have this background, it's a good idea to become familiar with object-oriented techniques first.
Five years ago, a Sun Java "evangelist" commented, "making up your mind what portion of the Java platform you want to specialise in is perhaps tougher than learning the language". That's more true now.
Where is it used?
Java has become pervasive, except in the hardcore Microsoft community (and they undoubtedly use services developed with Java). IBM has made Java, with Linux, one of its core technologies.
What systems does it run on?
On all hardware with a JVM, on all sizes of equipment, and in web services. Sun recently released Java Studio Creator 2 IDE, which is based on NetBeans IDE 4.1.
What's coming up?
Sun is providing early access to J2SE 6.0, code-named Mustang, due for release in 2006.