Upcoming Events

Cloud Connect
Santa Clara
Feb 13-16, 2012

Cloud Connect brings together the entire cloud eco-system to better understand the transformation we're experiencing and promises to be the defining event of the cloud computing industry. Learn about the latest cloud technologies and platforms from thought leaders in Cloud Connect’s comprehensive conference.

Register Now!

More Events »

Subscribe to Newsletter

  • Keep up with all of the latest news and analysis on the fast-moving IT industry with Network Computing newsletters.
Sign Up

  F E A T U R E

Most Innovative Technologies of the Decade

Number 6: Java

October 16, 2000


Cool Beans, Hot Language

Imagine you have a system for developing interactive television applications and no one wants it. What next? You refocus the system on the Internet, and it becomes the de facto development language: Java.

But figuring out exactly what qualities have made Java so successful isn't easy. On the face of it, Java's claims of portability and device independence would seem to be key to its success, but on closer inspection, those claims don't hold much water. Rather, we believe Java's solid Internet foundation, modern design and broad adoption are what have made it the only game in town for new development.

At SunWorld '95, Sun Microsystems introduced the Java platform. Java development tools created P-code--an interim language that's converted at run-time to the local host's real executable code via a program called the JVM (Java Virtual Machine). The JVM is essentially a virtual computer that's independent of the local operating system and underlying hardware. With a few notable exceptions, Java code has fulfilled the promise of portability. Yet because of those exceptions, Java applets are usually viewed as version- and JVM-specific. Nevertheless, the overall portability and functionality of Java is unprecedented.

Simple HTML lacks the robust GUI elements that most users have come to expect, and the flexibility and extensibility that programmers require. Java addresses this by enabling a rich programming and GUI environment to be contained within the browser. Equipped with a JVM, both the browser and the Web server are enriched, while at the same time the computing environment is made more manageable; this eases application distribution and removes client configuration issues. The JVM also protects a system from malicious Java programs by restricting such a program's access to files and other local resources. Microsoft, Netscape Communications and others implement JVMs in their browsers and Web servers, greatly extending the functionality of both.

Java has become firmly entrenched in the enterprise and has evolved to meet its needs. JSP (JavaServer Pages) and EJB (Enterprise JavaBeans) technologies enhance server-side development. An application making use of EJB runs on application servers and standardizes transaction-processing development. In fostering Java, Sun has required that all Java implementations remain pure to reference implementations; Java's consistency across platforms is one of its primary values. However, Java has been plagued with interoperability issues among minor versions of the JVM, and the lack of reference implementations results in inconsistency from one vendor to another.

Sun's competitors want Java turned over to a standards body, but Sun continues to retain ownership, leading some to question Java's openness. Recently, Sun dropped out of negotiations with ECMA, a computing-standards body, to turn Java into a standard; Sun claims this move was aimed at ensuring that the language will continue to evolve. As an alternative, Sun introduced the Java Community Process (JCP) program. In June, Sun implemented the second version of JCP, which moves control of the language specification to two executive committees--but Sun still calls the shots.

While the evolution of Java is clearly tricky business, the effect Java has had is clear: It has threatened to replace entrenched languages such as C++, COBOL and Visual Basic for enterprise and commercial business-application development, and has often succeeded in doing so. Java provides true portability for Internetcentric development. It continues to evolve to provide a rich environment for developing new, highly complex applications, relegating other environments to legacy status.

-- Lori MacVittie




PAGE: 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 I NEXT PAGE
 

Research and Reports

Hypervisor Derby
August 2011

Network Computing: August 2011

TechWeb Careers