Tracy Corbo, Tracy Corbo, senior analyst in the Enterprise Applications service of Business Research Group of Newton, Mass.
The very heart of Java’s appeal lies in its portability, and it is portable because it is an interpreted language, rather than a compiled language. Unfortunately, interpreted languages lack the performance advantages of their fully compiled counterparts. What Java gains in portability, it loses in performance. This clearly marks a disconnect between the inherent characteristics of the language and end-user concerns over performance. Some 86% of users surveyed earlier this year reported concerns about the performance of Java applications.
Performance improvements are on the horizon. The problem is being addressed through better and faster Java virtual machines (JVMs), the engines that make running Java applications possible on a variety of platforms. However, JVMs remain a work in progress. Sun Microsystems, the developer and prime promoter of Java, promises improved performance this year. Just-in-time (JIT) compilers also are available for an extra performance boost, but as with JVMs, improvements will vary from product to product.
The tools are still in their first-generation phase, as is the Java Development Kit, so it will take time for the Java libraries to become more complete and the tools to find the right mix of features and functionality for this new mode of programming.
However, note that the most recently released wave of Java rapid application development (RAD) tools is a big improvement over the first set of Java development tools. Other necessary complementary products such as testing tools are starting to become more prevalent as well. The lack of mature tools is not preventing corporations from using Java products, according to the survey. While 37% of respondents indicate they will wait until mature tools have gained wide industry acceptance, 42% are not waiting at all.
In addition to poor performance and a lack of mature tools, another key issue is the small resource pool for programmers. While a multitude of programmers have experience with Visual Basic, for example, the number of experienced Java programmers is small. Other BRG qualitative research has shown that Java programmers tend to be more expensive, thereby adding extra cost to projects.
The final issue, and probably the Achilles’ heel of Java, is uniformity. Divergent implementations of a single standard cause a dilution of the technology. UNIX, to give one example, suffered when various vendors took the technology down different paths. For Java the biggest area of vulnerability would be its portability: If each vendor goes off and creates its own proprietary extensions of Java, then portability is lost and Java’s value is greatly diminished. This conflict between standardization and differentiation is at the heart of the standoff between Sun and Microsoft. Sun is trying to counter with the 100% Pure Java campaign, but users are not convinced. While one-third agree with Sun, a third remain unconvinced; another third disagree that 100% pure is even necessary.
Everyone gives Sun a hard time about holding onto the standard, but think about it: What standards body to date has had even the remotest success in bringing a working standard to market? None that I know of. Sun has a major investment and therefore interest in the success of Java. A lot of this issue is sour grapes. Problems will arise if disgruntled “partners” go off and do their own things, making the excuse that Sun hasn’t met their needs.
Sun is trying, but it is no easy task. Keep in mind that Sun’s strength is in hardware, not in software. Sun is not a database or tools company, so Sun has things to learn. It is up to the technology partners to keep Sun on track and focused. It is up to Sun to prioritize issues and address them in a manner that leaves everyone happy.
It is not easy and everyone has to work together. If vendors feel the need to go off and do their own thing, then a truly portable development environment will not be realized and everyone loses. The data tells us the customers are playing with Java, but the overall trend is wait-and-see. The squabbling among the vendors only serves to confuse end users and force them into a “wait-and-see” stance. //
Tracy Corbo is a senior analyst in the Enterprise Applications service of Business Research Group of Newton, Mass. She can be contacted at firstname.lastname@example.org.