Java: Living up to its promises
In the six years since Java was introduced, the programming language
has made a name for itself by enabling portable applications
In our industry, the word "Java" conjures up thoughts of the
programming language far more often than that steamy, caffeine-laden
beverage from Starbuck's. And that's for good reason. IT managers and
professionals should know about Java, even if they never write a line
Java was introduced by Sun Microsystems six years ago as a way to
develop applications that are not tied to the hardware or operating
system. Sun pledged that developers could "write once, run anywhere."
This portability has much to do with Java's success.
SPONSORED BY: EMC
How did Oracle consolidate its worldwide IT infrastructure and save
over a billion dollars in operating costs?
- By partnering with EMC to seamlessly consolidate 43 worldwide data centers into
two locations, serving 43,000 employees in 145 countries
- By leveraging an EMC E-Infostructure to power their CRM, ERP and Financial
- By consolidating server storage to EMC Symmetrix systems to eliminate recurring
Find out how EMC's networked storage solution, software, and global
services helped Oracle improve availability, increase IT resource
efficiency, and reduce total cost of ownership.
To learn more,
How successful is Java? Sun estimates there are 3 million Java
programmers in the world today. Industry watchers predict Java will
become the most popular application development platform next year.
Java is rapidly overtaking C and C++ in computer science programs. In
fact, the College Board decided to use Java as the language for the
AP Computer Science Examinations beginning with the 2003-2004
With a few exceptions, technology companies -- even long-time Sun
competitors such as IBM -- have embraced Java. IBM sees Java as the
unifying development platform for its family of servers, ranging from
small Intel-based boxes to mainframes. Companies with decade-old
Cobol code are able to bring such applications to the Web by wrapping
them with Java and using a Java-based application server.
Java is also catching on with developers for personal digital
assistants and cellular telephones. Carriers such as Nextel and phone
manufacturers like Nokia, Motorola and Ericsson use Java for
Web-based services on cellular phones or have plans to do so, said
David Harrah, group manager for Java public relations.
What makes Java different?
Unlike C or C++, Java is an object-oriented language to the core.
While object-oriented programming is nothing new, Java takes away
much of the complexity of it. For example, Java includes "garbage
collection," which makes managing memory allocation in programs much
easier, said Uttam Narsu, a Giga Information Group analyst.
Computers also read Java applications differently. With C++ and other
programming languages, a programmer writes code and then compiles it.
Compilers take the code and convert it into machine code. A weakness
of this method is that programmers need a specific compiler for each
pairing of machine and operating system that will run the program.
Those criteria also influence how the programs are structured.
In contrast, Java applications are converted to bytecode. The code is
then read and executed by a Java Virtual Machine (JVM), an
application installed on the computer or server. Since the nuances
and needs of each specific platform are built into the JVM, the
imputed bytecode can be used on any machine and operating system
The beauty of such a situation is that it allows companies to develop
a program on an inexpensive Intel-based PC and then run it (with a
few exceptions) on all platforms. "You don't have the political
battles (between users of different platforms)," Narsu said.
Can you really write once and run anywhere?
Applications truly can be run on other platforms if developers follow
certain guidelines when writing the code, Narsu said. Giga Group
estimates that moving a Java-written program to another platform
would cost only 5% to 10% of the cost of rewriting it. Much of the
expense is for debugging. "People used to say with Java you 'run
once, then debug everywhere,'" Narsu said, adding that debugging has
The advent of Enterprise Java Beans (EJBs) has solved the
long-standing problem of how to reuse parts of applications. "For
more than 20 years, there has been a lot of reinventing the wheel in
software development. Developers have solved the same problems over
and over again," Narsu said.
An EJB is a specific component in an application that runs on a
server. It's debugged and tested. The EJB can then be deployed as
originally planned, it can be plugged into another application, or it
can even be sold. Some companies specialize in selling EJBs for
Enterprise customers like being able to leverage their applications
written in other languages with Java-based application servers,
Harrah said. Companies ranging from BEA to IBM to Oracle offer
application servers that support Java.
Soon, Java will have some competition from Microsoft's .Net
initiative with its C# programming language. Microsoft has tried to
distance itself from Java, and has not included a JVM in its new
version of Windows, XP. But .Net would not have been possible if Java
hadn't blazed the trail first, Narsu said. "The coincidences are
This is still a multi-platform world, Narsu said, noting that most
new applications written use a mixture of technologies. "(But) Java
is here to stay. It has rapidly settled in."
MORE INFORMATION ON THIS TOPIC:
You'll find a multitude of resources on Java in searchSolaris.com's Best Web Links.
Read more about Java programming for large enterprise systems at search390.com.
This was first published in August 2001