In the four years since its introduction, the Java programming language has made tremendous progress, becoming widely accepted as one of the most important computing languages.
Web surfers inevitably meet Java. The advantages of Java have led to speculation that a network-centric language is the trend of the future, as networks continue to become an economic essential.
Java, developed by Sun Microsystems and named for the coffee shop its programmers frequented, is a compact and secure computer programming language providing an embedded Web programming language without the limitations of language incompatibility.
One of the most advanced ways to take advantage of computer networks, Java allows a single piece of software to run on any major operating system. It's a welcome tool for developers as they don't have to rewrite Java programs in order to achieve compatibility.
According to Sun's John Leahy, "Java is much more than a computing language. It's a computer environment because of its 'write-once and run-anywhere' capabilities and the ability for the applications to move dynamically over a network or the Internet. It's a whole computing environment."
Java can be described as an interpretive language understood not only by IBM-compatible PCs, Macintosh and UNIX workstations, but also by hand-held devices such as cell phones, pagers and even appliances such as dishwashers and VCRs.
Java is different from other computer languages because, unlike FORTRAN, Basic, C++ and others, it is not dependent on the underlying operating system and hardware that controls the basic functions of the computer running the programs. Other language programs, to work on everyone's Internet platform of choice, would have to be written specifically for each type of system and for every other type that comes along. For example, a program written in C++ for a UNIX machine will not work on a PC using Microsoft Windows. Or a program written for Macintosh will not work on a PC Windows operating system.
To an ordinary observer, code written in Java looks almost identical to programming done in C++. According to Leahy, "from the aspect of computer language it is being referred to as 'C++-' because it's much easier to use or to program than in C++."
Java's interpreter, the "Java virtual machine" software, solves the compatibility issue. Provided a Java virtual machine is ready, such as those built into popular Web browsers, Java will work the same anywhere. Once a user installs Java -- which happens automatically when the Web browser is installed -- the Java virtual machine stays on the user's hard drive. It is activated to run Java programs whenever it is needed.
That means there is no problem porting programs from one system to another and no need to worry about how a piece of software will run on a certain computer. PCs, Macs, UNIX, IBM mainframes and new NC computers can all download the same program and run it, just as with HTML.
However, Java goes beyond the limitations of HTML and other languages by giving users interactive and multimedia capabilities.
One Step Beyond
Combined, these ideas push Java far beyond mere Web applications. In fact, Java doesn't have to run on the Internet -- it can run like any other program, from a hard drive or local area network. That is why the computer industry calls Java not only a language, but also a "platform." Other kinds of Java software programs can run directly on computers without requiring a browser, or on servers, large mainframes or other devices.
Critics of Java argue that similar to other cross-platform solutions, Java cannot take advantage of unique system characteristics to run as fast as it might on a popular machine. However, according to Sun, enhancements in Java 2 have increased the application-performance gain by three to 10 times.