Aberdeen Group analyst Tim Sloane says Java could go even further to attract the base of VB developers now writing for Windows. If Sun were willing to create an integrated development environment, Sun's pure Java would be accessible to the 80% or 90% of developers committed to the Microsoft platform, Sloane says. But Sun isn't doing that, he adds, because "it would appear to the industry that it's buying into Microsoft's corruption of Java."
Growth Patterns
As things stand, Java is unlikely to overshadow the massive amount of development being done in VB anytime soon--if ever. Gartner Group's Smith predicts that the growth in VB usage will continue unimpeded by Java.
C++ is another story. Java, combined with HTML and JavaScript on the client, appears to be displacing C++ as the language of choice for independent software vendors and businesses with high-volume/high-functionality platforms. However, since many of today's most savvy businesses and software vendors deploy apps based on multiple languages, and languages tend to be entrenched, the consensus is that total displacement of even C++ is likely to take five to eight years.
If this is the case, Java use is evolutionary, not revolutionary--but it's a rapid and clear evolution. Even on Windows NT, the languages of choice are trending toward toward Java and HTML, especially for Web applications. In a survey of 159 IT managers, Strategic Focus found that 35% of NT development is expected to be in Java within two years, with almost 29% in HTML. Alternatives such as VB, Dynamic HTML, JavaScript, and Perl all get lumped into the "other" category.
In the enterprise, Java gets used when development time or portability is an issue, while C++ gets the call when reliance on dynamic memory allocation spawns performance concerns. For intranet use of an application, Java may be deployed on the client. On the Web, that part of the application might be rebuilt using HTML, Dynamic HTML, or JavaScript. For many businesses, Java is best for building lightweight server processes, such as servlets. These servlets can in turn provide heavyweight and complicated logic. Tools to access back-end databases are also a good use of Java on the server.
Steve Gimnicher, VP of Computer Network Technology Corp., which provides tools for reengineering and building applications for mainframe and other legacy systems, thinks the best opportunities for Java lie with the server. CNT is focusing on applications such as one built for AT&T's Inbound Call Receive Center, which uses HTML for the thin client for 400 customer-service representatives and taps Java on the server to access customer records and other data. While CNT relies mainly on a non-Java midtier connectivity product, it expects this new Java solution to account for 25% of its sales in less than 12 months.
Businesses also use Java to develop apps that, for scalability reasons, may one day reside on servers other than those now in use. Java portability is far from perfect, but John Neffenger, chief technology officer and founder of Java chat software provider Volano LLC, insists that his company's software--which runs on 23 operating systems, 10 Java virtual machines and 17 hardware platforms--proves that "write once, run anywhere" works.
"People thought they could write once and not do any testing," Neffenger says. "They got carried away and thought they could write [code] on their notebooks with Windows 95 and never do any testing. Still, Java is a heck of a lot better than writing source code for every platform you'll deploy on and hiring 12 people for the compilation-dependent platform switches."
The next significant challenge for businesses deploying Java is standardizing on tools and development environments. Many companies still hesitate to commit their entire enterprise to a single tool provider. They cite Java's still-nascent status and fears that tool providers will include proprietary extensions in their toolsets that harm Java's portability. Meanwhile, some are waiting to see if any of the innovative smaller tool providers weather the market.
Some leading development tools are Inprise's JBuilder, SilverStream's application server development environment, Symantec's Visual Café, and IBM's VisualAge for Java.
Microsoft's Push
Expect Microsoft to push forward with new Java tools and environments as well. It's already clear that Microsoft's new development environment, Visual Studio (slated to be launched this fall), is intended for Java, VB, Visual C++, Visual FoxPro, Microsoft Access, and Source Safe.