New virtual machine feature may prevent Java from turning into full-blown platform
San Francisco (6/24/97) β In what Sun calls a move to lock developers into the Windows platform, Microsoft has announced that future versions of its Java virtual machine will support direct calls to the entire set of Win32 APIs (application programming interface) β a feature Microsoft calls J/Direct.
Microsoft Product Manager Tom Johnston says upcoming versions of Microsoftβs Java software developer kit will let developers write Java applications that can run Win32 DLLβs (Dynamic Link Libraries) without using native methods. βIt looks as if youβre importing the DLL,β he explains, βand making it look, in a sense, like a Java class.β According to him, βdevelopers are telling us that they are more productive in Java than in C, but they donβt have the fine grain control.β And fine grain control, at the expense of interoperability, is what Microsoft is providing with J/Direct.
On the Internet newsgroups J/Direct is being called the death of Java. And some developers say it will create two versions of the Java platform: Windows and non-Windows. But Microsoftβs Johnston says his company is simply aiming βto increase what the Java developers today can do.β He predicts that J/Direct will be used in things like vertical applications that use data gathering from a device, multimedia applications that want to talk directly to the hardware, and applications that require tight integration with other applications.
Everyone, except Microsoft of course, seems to think Microsoft is doing more than lending a friendly helping hand to Java developers. JavaSoftβs director of corporate marketing, George Paolini, is predictably unequivocal: βtheir only motive is to lock developers into the Win32 APIs.β But Paolini says that J/Direct will backfire because developers want interoperability, not access to Windows APIs. βItβs the classic mistake high technologies go through: milk the cash cow instead of adapting to the new paradigm: this is Wang [Laboratories Inc.] trying to hold off the PC, and the PC subsuming Wangβs PC features,β he remarks, referring to the beating the company took at the hands of PC and LAN technology in the early 1990s.
Microsoft builds its βarsenalβ
J.P. Morgenthal, president of New Horizon Computing Corp., an IT consulting firm, says that Microsoft is simply acknowledging the shift towards thin client computing. J/Direct, he predicts, will encourage Windows developers to switch from C++ to Java, in turn building an βarsenal of Java programmers.β Morgenthal does not think that a host of Win32-specific Java applications will spring up immediately because the βconservative [developer] community isnβt going to touch Java for at least a year.β So by the time Microsoft has trained its βarsenal,β he predicts, JavaSoft will have made the Java language stable and fast enough that developers wonβt even need to use J/Direct.
Does J/Direct mean Microsoft is abandoning ActiveX? Microsoft says no. Paolini says yes. βIf you look back over the last six months, they [Microsoft] have seriously backed off pushing ActiveX,β he says. Morgenthal disagrees. βActiveX is still an excellent way to do inter-object communications on a Windows platform. [With] J/Direct weβre talking about raw access. That isnβt the stuff that compound documents are made of,β he says.
In the end it will be developers, not Sun or Microsoft, who determine J/Directβs success or failure. According to one Java developer, Keng Lim, CEO of Kiva Software Corp., the ability to call C++ code without having to go to JNI (Java Native Interface) βcould be very appealing for a lot of Windows developers.β But, he says, developers are also keenly aware of the appeal of Javaβs portability, and porting code costs money. βIf you just want to sell on Windows,β he predicts, βif you donβt care about portability, then itβs a compelling solution.β
Lim says his company wonβt be supporting J/Direct right away, but others seem less sure. Tool vendors Symantec and Borland did not have any comment on whether they would be supporting J/Direct in their Java development environments.
J/Direct will eventually ship in all copies of the Microsoft Win32 Java virtual machine. It will first appear in the next release of Internet Explorer, expected four to six weeks from now. Microsoft says it will release J/Direct development tools at the same time in its Java software development kit. J/Direct will ship as part of future versions of Windows 95 and NT, and it will be in the Internet Information Server as well.


