
By Art Wittmann
What to do about Java? Now that's a tough question to answer. It's easy to find articles in the press telling you that Java is running a distant third or even fourth in the race to be the in-house development environment of choice.
On the other hand, you're just as likely to find another article in the same tabloid saying that anything not developed in Java is a legacy application that will someday require porting.
There's also little doubt that the concept of running software under a virtual machine architecture is here to stay. Whether or not Java becomes a dominant platform for development, sooner or later software will run under a virtual architecture. Our investment in software is too great and architectures change too fast to allow us not to adopt the virtual machine architecture at some point. We're just now seeing microprocessors that have enough power to make this realistic. But what about Java?
Running Hot and Cold With Java Sun recently announced its JavaEngine, which is intended to allow 486- and Pentium-based PCs to run Java applications. The stations still run Windows as the base operating system. The attraction is the ability to use the current crop of PCs as a launch pad for a brave new world of Java applications without having to buy lots of $1,000 to $1,500 JavaStations.
While that does sound fairly interesting, there's still plenty of concern about Java's performance and stability, particularly for delivering commercial-grade applications. Netscape recently announced that it's abandoning efforts to create a Java-based browser, citing not only speed and performance issues but possible schisms in versions of the run-time environment that may result in incompatibilities in the language down the road.
The folks at Sun have, in fact, taken out after Microsoft over that very issue. Microsoft has made optimizations in its Java Virtual Machine that will lead to incompatibilities. Sun, for its part, wants to keep Java pure and exert control over the language's development.
All this makes for some treacherous ground when deciding exactly what to do with Java. The allure of more manageable and widely deployable applications is still quite real. So what's an in-house development manager to do?
Sadly, it appears that Java can still only be viewed as a tactical tool requiring careful and limited deployment. It is clear that the language's maturity does not warrant all other codes to be considered legacy applications. The safe choice for development is probably to go with whatever you've been using to date and start off with trial evaluations of Java.
Will Bill Win Again? This, of course, plays directly into Microsoft's hands. As with other standards seen as a potential threat, Microsoft is loving Java to death. So while Microsoft offers interesting Java solutions, these solutions are just different enough to cause uncertainty in the marketplace. There is no uncertainty, of course, about ActiveX, Visual Basic, Visual C++ and Windows. In fact, all three of those are exactly the same everywhere because Microsoft owns them. Sun knows this, and that's why it's released the JavaEngine and sued Microsoft to keep Java pure.
It is undeniable that Java is not only a great concept, but it has great minds behind it as well. Now is the time to be considering Java for tactical applications, so dig in and start getting used to it. If possible, deploy some test-bed applications. But don't plan on large-scale applications since the environment simply does not appear ready for that.
Choosing Wisely Finally, choose your development partners wisely. It doesn't make any sense to me for you to play into Microsoft's hands by using its Java development tools and run-time environment. If you want to be a Microsoft-only shop, that's fine; go that route and use all of the great tools that Microsoft creates. But if that's not the case, choose another vendor's Java tools and virtual machines.
Art Wittmann can be reached at awittmann@nwc.com.
|