I was reading this article from David Herron today. It looks back on an article from a decade ago talking about how Java was predicted to be a technology that “doesn’t stand a chance.”

David suggests that, “Looking at that 10 years later I can only think the rumors of Java’s death are greatly exaggerated.” I’m not so sure about that. Java did in fact die. It died quite a horrible death. That death occurred in the consumer-grade desktop application market.

We never really saw any significant, widespread desktop applications written in Java. Although it did and does get much use on the client-side in many enterprises, it never caught on in the wider market. Part of this may be that it didn’t allow enough integration with the host system. Another reason may be that the Java runtime was too bulky and difficult to obtain, especially in a world of dial-up users. Beyond that, the relatively poor performance of even Sun’s Java virtual machine implementation during those critical early years surely didn’t help.

So in the end, we never really saw any popular games written in Java. We never saw any successful word processors, or spreadsheets, or Web browsers written in Java. There were efforts, but they usually failed. The “Java: Slow, ugly and irrelevant” article covers these failures quite well.

But Sun and Java did get lucky, even since the Salon.com article was published. Java did end up getting used for many server-side applications, where the hardware was usually powerful enough to help negate the lower performance of Java applications. And the developer productivity jump relative to C and C++, due in part to Java’s extensive class library, did help, as well.

So it’s best to think of Java as a language that got a second lease on life. It did pass away the first time around. But on it’s second go-round, in a different market, it did manage to entrench itself. Nevertheless, this latter success should not cause us to forget how it failed so badly the first time around.