June 27, 2005

Java, 10 years later

After 10 years of success, challenges still remain if Java is to meet the needs of today's developers

Java’s first decade has proven it to be remarkably adaptable. Originally conceived as an embedded language for consumer devices, Java emerged from Sun Microsystems in 1995 as the programming language for Web browsers. It then morphed into the leading tool for business computing and serious application development -- in many ways the successor to both Cobol and C++.

Today, Java is the de facto platform for enterprise-scale applications, owing to its proven scalability and the extraordinary range of services it provides. In addition, the Java language has numerous properties that appeal to developers, such as object orientation, an expressive syntax similar to C and C++, few unsafe constructs, and built-in garbage collection. As a result, Java -- as both a language and an execution environment -- is likely to remain the platform of choice for enterprise business applications for many years.

To attain this central position in the enterprise, Java underwent extensive transformation. To remain at the center, it will need to continue adapting to new technologies and responding to serious challenges, both from within and without the Java community.

Fast enough?

One key advantage Java offers developers is that it eliminates many practices common to C and C++ that can lead to inadvertent errors. The Java run time takes care of memory management and reduces the need to manipulate data items at low levels, but it does so at the cost of some performance.

Programs written with early releases of Java were significantly slower than their C and C++ counterparts. Because many Java programs of that period were applets designed to run in browsers, however, this limitation was more annoying than critical. Still, as Java moved into enterprise environments, the performance question became more serious.

This issue has been addressed in two ways. Moore’s Law is one; with processor performance doubling roughly every 18 to 24 months, the delay caused by Java’s semi-interpreted code has quickly become much less visible. The other speed boost came from improvements in just-in-time compiler technology. Early JITs generated code of middling performance quality, but JIT enhancements driven by academic research, investments from IBM and Sun, and the work of Swedish wunderkinder at Appeal Virtual Machines (acquired by BEA in 2002) resulted in better optimization and zippy execution environments.

Today, benchmarks show that Java has closed most of the gap between itself and its C and C++ forebears. Garbage collection -- the process of reclaiming unused memory -- remains one of the key factors working against parity in performance. The benefits of this feature, however -- notably, more reliable code -- are great enough that most shops are willing to accept this small penalty.


Click for larger view.


Write once, then what?
When it was first released, Java’s mantra of portability was, “Write once, run everywhere.” The more common experience that developers encountered, though, led to an alternative version: “Write once, debug everywhere.”

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.