As Sun Microsystems celebrated the fifth anniversary of its Java programming language last month, Microsoft was busy cranking up its marketing machine to promote a growing armoury of potential Java killers.
The Redmond giant's anti-Java sentiments spring at least in part from the hardware vendor's decision to sue it in October 1997. Sun claimed that Microsoft was in violation of its Java licensing contract and had infringed copyright by developing a Windows-only version of the technology. The case is still pending.
This week, however, Microsoft upped the ante against Sun by ending its investment in Java. It will build no future versions of its Visual J++ Java-based development tool and instead will resell Rational's equivalent as part of its forthcoming Visual Studio.Net development suite.
The move also follows the software giant's launch last month of an object-oriented tool that it appears to be positioning in the same web development space as Java. Microsoft expects to ship C# (C sharp) in the next 12 months, and claims that it takes the best of C and C++ and melds them into one offering.
However, some analysts believe that Microsoft will have a lot of work on its hands to ensure that the new programming language is well received and is in a position to catch up on Java's five-year lead.
Jon Collins, a senior analyst at Bloor Research, is sceptical about whether launching a rival language is really the way forward at all. "The future lies in interoperability. That's where Microsoft should be putting its efforts," he says.
While Microsoft's large community of developers should mean that C# has a good chance of winning some mindshare, "that doesn't mean it's going to take over the world", adds Collins.
Tom Murphy, an analyst at the Meta Group, likewise believes that C# has a long way to go before it can compete with Java effectively. "I don't see Java dying at any time in the near future. There's too much momentum behind it," he says.
However, Murphy feels that Microsoft has, in some ways, been forced to take its rival on. "If Microsoft hadn't run into those legal difficulties, there wouldn't have been a need to drive up with C#," he claims.
Java takes on Visual Basic
The threat that Java poses to Microsoft's leading development environment, Visual Basic (VB), has put the vendor even more on the defensive. Rikki Kirzner, an analyst at IDC, estimates that the number of Java developer seats grew from 789,000 in 1998 to 1.3 million last year, and predicts that the number will rise to 1.9 million by the end of this year and to 4.4 million by 2003.
He adds that the implementation of Java packages has increased faster than those written in any other programming language with the exception of VB, but it may soon overtake even that.
Murphy believes, however, that C# is not simply a Java spoiler, but that it also offers some advantages over Microsoft's versions of C and C++. C# is, for example, expected to make users more productive by being less prone to errors and will include better support for HTML. It also automates some of the code writing that developers currently have to undertake manually.
With this in mind, Microsoft will initially target its offering at C and C++ developers, and as a result, plans to provide them with an easy migration path, although the software giant also expects VB developers to use it too.
While Murphy believes this will help boost adoption of the language, he claims that C# also has advantages over Java because it was designed from the ground up with XML in mind. "It has semantic controls and libraries that let you strongly take advantage of XML," he claims.
But functionality isn't everything when it comes to the battle for market share, and Murphy warns that Microsoft needs third parties, on top of its loyal development community, to endorse the offering.
For C# to succeed, he says, Microsoft needs standards bodies such as the European Computer Manufacturers Association (Ecma) to back it and other vendors to build tools and utilities around it.
One such possible partner is Apple Computer, with which Microsoft has traditionally had an on-off relationship. "If there was a C# for Apple, it would make it easier to write for both of these platforms. That would be great," adds Murphy.
Ironically, the Linux community, although generally no fan of Microsoft, could form another potential ally because many Linux developers programme in C or C++.
But endorsement from Ecma would certainly provide the software giant with a PR advantage over Sun, which withdrew attempts to have Java ratified as a de jure standard by the body. The move laid it open to criticism that it wanted to maintain too much control over its baby despite pitching it to the world as open technology.
"There's going to be a lot of flack flying around over the next couple of years between Microsoft and Sun," adds Murphy.
However, the struggle for dominance of the internet space in fact began last year as a result of Microsoft's public backing of Soap (the simple open access protocol), which it is developing with IBM, SAP, Ariba and Compaq.
Can Soap clean up?
Microsoft hopes that the Soap specification will be adopted by the World Wide Web Consortium (W3C) as the basis of the next generation eXtensible markup language (XML) standard.
Its rationale appears to be that if developers have a reasonably straightforward XML-based standard they can use to enable their internet applications to talk to each other, they will be less inclined to wade through the complex layers of the existing Java specification.
So Soap, Microsoft reasons, could push disaffected Java programmers into the arms of vendors that support the protocol - something that Sun has so far declined to do.
Soap is also one of the key components of the firm's .Net strategy, which is intended to enable businesses to access applications as services over the internet using not only PCs, but mobile devices such as phones and personal digital assistants.
And Murphy believes that Microsoft hopes to dominate the market through .Net by employing the same technique that it used with its Windows desktop operating system.
Windows was initially merely a graphical user interface add-on to the character-based DOS operating system and was layered on top to provide enhanced functionality until it was robust enough to take over from its predecessor.
So Murphy argues that Microsoft is simply trying the same tactics again by layering Biztalk and Soap over Windows until it is ready to take over from the older technology.
"The real debate will be in the future - Java as a platform versus Microsoft.Net as a platform. That is the bigger battle," he claims.
But, as Collins points out, Microsoft failed in its attempt to kill off the Unix operating system despite its exploitation of the divisive vendor wars of the early 1990s. Which implies that it is going to have to try somewhat harder if it wants to make a dent in either Sun or Java.
Dubbed Barnard's star B, newly discovered planet is believed to be rocky
Also, what's a USB stick?
Gravitational waves become extremely weak by the time they reach the Earth and require highly sensitive equipment for detection
The reactor topped out at 100 million° C