|
A programming language created by sun
microsystema which began life as a way to connect intelligent devices in
the home. It has since evolved into a sprawling set of network software
technologies that allow information to be transmitted and shared by a wide
variety of devices. Java has generated enthusiasm bordering on religious
mania in the software development community, and it is now routinely used by
hundreds of thousands of programmers in preference to older,
well-established languages. all sorts of programs are now written in Java,
including many games and financial applications.
From a programmer's
viewpoint, Java is easier, faster to use and more elegant than languages
such as c++. It can still be used for large-scale projects, and several
commercial software vendors have released Java-only versions of their
business and graphics software applications. But Java's greatest promise is
that software programs written in it will run on any computer, regardless of
the operating system or processor it uses. Such portability is
achieved by way of a virtual machine (vm), a piece of software
specific to a particular operating system, which interprets the bytecode in
Java program and translates it for use in the local environment. This 'write
once, run anywhere" property is immensely attractive to software developers,
who have previously been burdened with the necessity of writing separate
versions of their programs for each platform or operating system: one for
windows, one for Macintoshes, and so on.
A second benefit of Java is security. Vms insulate Java
programs from the host machine's hardware and software, and thus
limit their ability to damage the system. This is often cited as one of
Java's main advantages over activex technology.
These two attributes have done much to popularise Java in the
developer community. But its third Characteristic, modularity, is arguably
the most important. Many people associate Java only with applets and
the world wide web, but its reach is far broader. Java is a fully
object-oriented language, well-suited to the creation of components, each
with their own specific functions, which can communicate locally or across
networks, on servers and in clients.
Such far-reaching usefulness sounds too good to be true, and in
some ways it is. The missionary zeal with which Java's evangelists promote
it conceals some awkward truths that have prevented Java from Becoming quite
the ubiquitous language that its creators hoped for. In particular, the
"write once, run anywhere" promise has turned out to be misleading and
irrelevant, as developers have discovered the need to use specific features
of operating systems to make their products really useful. This in turn has
compromised Java's much-vaunted security model.
Java is at the
centre of bitter disputes between Sun and Microsoft, which has produced a
range of supposedly Java compliant products that Microsoft claims, improve
on Sun's lowest-common-denominator originals. Java's popularity forced
Microsoft to include support for it in windows operating systems and browser
products, but it chose to write its own v m rather than include its
competitor's code and stated that it would include Java only until 2004.
After Sun accused Microsoft of leaving important features out of some Java
products, an American judge ordered Microsoft to include Sun's version of
Java in its operating systems.
Despite its failure to live up to its
initial promise, Java is still a powerful force on the internet. In
particular, it represents an opportunity for Sun to capture a sizeable
proportion of the lucrative emerging web services market. Once again,
though, Microsoft may prove to be its most dangerous enemy. Its .NET
strategy, in particular, is designed to compete directly with many of the
services that Java offers to developers of next-generation web-service
applications, and some fear that Microsoft is again introducing
compatibility problems for users of non-Microsoft products. |