Browse DevX
Sign up for e-mail newsletters from DevX


Java Turns 10: The Developer Retrospective

Java passed the 10-year milestone this May. DevX asked developers to reflect on the language's first decade, assess where it stands today, and speculate where it's going. The diversity of responses—including industry notables from within Sun, IBM, BEA, and Borland—indicates that Java is as vital as ever.

ay 2005 marked 10 years since Sun first introduced Java technology to the world. In the decade to follow, the language begat a platform, which begat a community, which begat an entire ecosystem, in which software players, open source projects, and individual programmers alike all thrive. Today, some 4.5 million developers and some 1.4 billion devices all use Java.

But we won't bore you with yet another retelling of the Java success story. Instead, DevX distributed a questionnaire (one question for each year of existence) to capture personal accounts of the Java experience from the people most involved with the technology—developers. Respondents ran the gamut from consultants and authors to CTOs and senior technologists at BEA, IBM, and Sun.

The following are some of the eye-opening responses we received.

1. How did you begin programming in Java?

Java garnered the attention of everyone from pragmatic technologists...

"I first started programming in Java when it was still called Oak, sometime in late 1993 or early 1994. I was leading a research group in Sun Labs. Once we started using it, we realized that the best thing about Java was the ability to move code from one VM to another in a reasonably secure way," replied Jim Waldo, distinguished engineer at SunLabs

Rod Smith, vice president of emerging technology for IBM's Software Group, wrote, "We saw that the Java platform was 'good-enough' technology and held the potential to be a significant disruptive force in the industry. We decided we had better 'get on the bandwagon' and adopt Sun's Java technology rather than relying on our previous pattern of trying to develop everything ourselves."

Ed Cobb, vice president of architecture and standards in the office of the CTO at BEA Systems, wrote, "We had options of other mainstream object-oriented languages, but Java offered a better blend of features that makes it suitable for large-scale development efforts in team environments."

"For most of the last 10 years, I was employed at Sun, and so I'd have to say that Java 'happened' to me. Had it not happened, we would have needed something very like it to tap the network-computing environment that was evolving in the industry."—Rob Gingell, executive vice president and CTO, Cassatt Corporation

...to diligent comp-sci students...

Michael Pilone, senior software engineer for Blueprint Technologies, replied, "I figured I was going to need to know it to get a decent job. Although the university [I was attending] was (and still is) teaching in all C++, I taught myself Java on the side."

"During my Master's study, my professor asked me to work with Java. I did my entire course work starting with beta Java 1.0."—Raghu Donepudi, lead systems developer, Global Computer Enterprises

...to programming enthusiasts...

"[I began programming in Java] as soon as it came out. I was very excited about the prospect of ["write once, run anywhere"] WORA and Applets."—Jack Herrington, author of Code Generation in Action (Manning) and the editor of the Code Generation Network.

"I started learning Java even before the 1.0 version, because it was supposed to be an alternative to Microsoft (I had very disappointing experiences with VB and Visual C++) and to Pascal," wrote Laurent Ploix, project manager and technical architect for SunGard-Finance.

"In 1997 I took a Java manual as vacation reading and spent time on the beach immersed in the beauty of it. I switched to Java, declared C++ a legacy language, and never returned."—Vlad Patryshev, former R&D engineer, Java Business Unit, Borland

2. How well has Java executed on the promise of "write once, run anywhere" (WORA)? Has the importance of WORA changed at all over time?

"The Java Virtual Machine, at least in concept, is the most powerful idea behind Java. It's definitely delivered on the portability promise."—Bruce Tate, president of J2Life, LLC, a Java technology consulting firm

"Application servers and J2EE applications can be moved between platforms nicely. I think WORA on the client side is still quite questionable and may never really take hold."—Michael Pilone

"It made me a platform agnostic."—Vlad Patryshev

"Java's early success was essentially due to WORA. It provided a fundamentally different set of economics for SIs, ISVs, and software engineers than did (and do) many of its alternatives."—Rod Smith

"Java's performance on WORA a) has been better than anything prior to it, b) is still better than any other alternative, and c) remains a key part of Java's value proposition."—Rob Gingell

"WORA has delivered for me EVERY time. I have always done my Java development on Windows, but I have always deployed to Solaris or Linux environments without a single issue."—Eric Bruno, an independent consultant specializing in software architecture, and enterprise Java and C++ development

"You can convert bytecode to MSIL, and you can run Java in J#. This lets us maintain a single code base for Java and .NET for our products."—Michael R. Smialek, president and CEO, Knowledge Dynamics

"I regularly develop, test, and deploy [Java] code across Windows, Linux, and Sun Solaris boundaries with only slight modifications to XML configuration files. The importance of WORA, however, has diminished with the emergence of service-oriented architecture."—Kyle Gabhart, author and independent consultant

"Perl, Ruby, and Python are just as portable."—Jack Herrington

"Some have claimed that as the number of operating systems in common use declines, WORA will become less important. The reality is that as long as there are even two reasonably likely target platforms, WORA is still important."—Ed Cobb

Thanks for your registration, follow us on our social networks to keep up-to-date