Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Celebrating 10 years of Java and our technological productivity

A look back on the last 10 years of the network age

  • Print
  • Feedback

The riddle of 10 candles: If there are 10 candles and 3 were blown out, how many are left?

This semantic puzzle, which appeared on a free English language help Website, is a Zen koan, emblematic of the age of Java (i.e., the current network age, which Java helped to birth, diaper, feed, and proctor). With Java's official debut on May 23, 1995, along with the Internet-ready release of Windows 95 and Netscape's IPO later that same year, the stage was set for a 1996 leap in aggregate economic productivity increases that has yet to abate, dot-bomb notwithstanding. So now it's Java's birthday. As we blow out 10 candles on the Java cake this year, celebrating a decade of WORA (Write Once, Run Anywhere), VMs galore, and bytecode, perhaps we can reflect on the changes our passions have wrought.

The history of Java is well-documented. With hundreds of books, thousands of articles, hundreds of thousands of Websites, millions of developers, and millions and millions of lines of code, the story of the Java platform is probably one of the most well known and remarkable in the annals of programming history. As such, there is no need to recapitulate the short but eventful life of Java here (although a canonical list of Java historical Websites and articles does appear in Resources). But rather, if we consider the 10 years of Java with a candle motif, it might be of some value to cite a development or two per candle as we extinguish them all in celebration—something of a top 10 list of impact craters left in the wake of the Java asteroid that so deftly disrupted the software ecosphere some 10 years ago. In the spirit of top-10 lists then, let's do a candle countdown, each candle representing something that Java pioneered, perfected, or witnessed since the birth of the network age.

Candle Ten: The death of DOE

The much ballyhooed adventure of DOE (Distributed Objects Everywhere) was an interesting segue into the network age. After five years of vaporware status, Sun finally deigned to unleash the technology in late 1995, rechristened as Neo; however, DOE cum Neo was rather DOA in light of the Java tsunami to come.

Neo was a C++ implementation of Object Management Group's CORBA distributed object architecture, an implementation that included an object request broker, naming services, and persistent object availability. At that time, Sun had visions of enterprise developers creating and deploying distributed, object-oriented applications on its Neo platform and using Solaris as a frontend development and operating environment for the backend Neo applications—all of which would run on Solaris (duh!). But with Java and Enterprise JavaBeans, DOE was dust; Sun announced the EOL of Neo some two years later with little complaint or fanfare. DOE deserves the first candle on the Java cake, since much of its vision was subsumed by Java. Ironically, the era of compiled languages was just coming to a close when DOE was finally released, which leads us to the next candle...

Candle Nine: WORA, bytecode, and the VMs that eat them

Remember WORA? More importantly, do you remember the dark ages before the naive hope of WORA? It is difficult to imagine what the world of software development might be like today if bytecode, virtual machines, and at least the promise of "Write Once, Run Anywhere" had never existed. The VM/bytecode approach seems so obvious now in retrospect that it's difficult to imagine someone not perfecting it had Sun faltered.

  • Print
  • Feedback

Resources