Some of the recent attacks on Java are so misinformed that, at first, I thought they were intended as a parody of the Java tirades coming out of the Microsoft PR office. Then I realized they were meant to be serious.
Take the complaint that Java doesn't work because the Corel personal productivity suite failed. We might as well complain that the internal combustion engine is worthless because Ford's Edsel was a bust.
Corel is a very nice company and their graphics products are world class. But, in an attempt to break out of the graphics tools niche and get into the much broader personal-productivity market, the company went out and bought a very old suite. Corel's impulse to expand its market was probably right, but its choice of the vehicle to do it was misguided from the start. The company found itself saddled with old code. So, it tried to rebuild the product from the ground up using Java, and it didn't work.
From the start, the Corel effort was a very risky endeavor for many reasons, the least of which was Java. The critics who see Corel's failure as a failure of Java itself must not only be smoking something, but inhaling. Should we consider the failure of the initial Microsoft Network, a distant also-ran in the online access market, as reason to avoid all the Microsoft technologies that went into it? We all better hope not. Similarly, Oracle killed its Project Sedona. Does that sound the death knell for BASIC, C and C++? Don't bet on it.
But, we can learn some things from Corel's experience with Java and its personal productivity suite. First, a personal productivity suite is client-only software (and a ton of software millions of lines at that). While Java can work quite well for client-only software, it is really designed for building fully distributed applications. Corel turned to Java because it would give it a way to differentiate the product in a saturated market already hopelessly dominated by a monopoly product. The project, however, never took advantage of Java's strengths, such as application partitioning, easy network-ability and easy distribution of updates.
Second, the Corel experience confirms what most of those who work regularly with Java already know that the technology still has some maturing to do, and Java development works best in the hands of experienced Java programmers. Java is easier to program in than, say, C++, but that doesn't mean you should give it to just anybody and expect them to knock out a few million lines of effective code. The right tools are needed to build successful business applications with Java. VI and EMACS alone simply don't cut it.
Then there are the Java pundits who proclaim its death because Netscape is seemingly retreating from Java. Again, we are dealing with critics who can't tell the difference between business strategy and computer programming.
Netscape's problems have more to do with trying to make a buck when your competitor is giving the product away for free. The company was trying to move ahead on too many fronts at once - IFC, a worthwhile foundation class for the Java UI; the Kiva application server platform; and Communicator - all the while battling Microsoft in the browser market. Netscape was forced to pull back on its Java efforts because of its financial situation, not because Java wasn't working for it or its customers.
The upshot: For now there are two primary Java versions, the actual Javasoft/Sun version and whatever proprietary version Microsoft settles on. Over time there will be more Java VMs designed specifically for platforms such as IBM's AS/400, HP-UX, Solaris, WindowsCE, JavaRing and more, which will only work to the benefit of the Java platform. The skeptics don't quite understand this. The skeptics also were sure that multiple versions of SQL would ruin that standard. Yet the multiple versions have strengthened it. The same will happen with Java.
As for Netscape, life is tough for small companies, especially when they are battling an industry giant. Although Netscape has slowed its Java R&D, don't count Netscape out. In the meantime, you can expect Java technical advances to continue to pour out of Sun, IBM and others, regardless of what Netscape or Microsoft does.
Now that we've reined in the Java skeptics, the next Java George column will look into some of the legitimate issues surrounding Java.
Java George is George Kassabgi, director of developer relations for Progress Software's Apptivity Product Unit.