The rift between IBM and Microsoft over Web services widened further over the weekend when Web services evangelists from each company clashed over the relative merits of .Net and Java 2 Enterprise Edition (J2EE) for building applications that can talk to each other over the Internet.
IBM's senior consultant architect Keith Edwards and Microsoft group manager for .Net technical evangelism, Neil Hutson, were speaking at the NetEvents industry gathering in Montreux, Switzerland.
Edwards' biggest criticism was levied at Microsoft's .Net programming model, which was developed after Sun won its lawsuit charging that Microsoft had hijacked the Java language. In particular, said Edwards, Microsoft's decision to support dozens of programming languages was fundamentally flawed. "Programmers don't come screaming to me saying 'I want five different programming languages,'" he said, stressing the wide acceptance of Java.
Edwards did concede that Visual Basic programmers are also numerous, but pointed out that although that language is suitable for client-server applications, "you do have to adapt the programming model for .Net." For some, he said, this may not be a big change, but for those who are client-server oriented programmers it is a massive change.
"Even Microsoft tells programmers it will take anything from six months to two years (to adapt)," he said. Microsoft's C# also came in for a barrage of criticism; there is zero skill, said Edwards, and only Microsoft courses, and the language only exists "to emulate what Java already supplies."
Whatever choice developers make there is a transition, he said: whether they move from Visual Basic 6 to Visual Basic .Net; learn C#, or lean Java. "The Java skills are already there, so if you have to make a transition, why not transition to an open framework that allows me to run programs anywhere?"
Countering IBM's argument, Hutson said Microsoft's stance is that one language does not fit all. "We are letting third parties build support for Cobol, Java and all the other languages in .Net," said Hutson. He added that there are a huge number of Visual Basic developers, and that C# is not difficult to learn since it is based on current languages.
"C# is based on Java and C++," he said. "But it bases functionality on what needs to be in a new language for the future. It hasn't taken me long to adopt as a programming language."
Edwards did stress that IBM will support Microsoft's .Net Framework where it makes sense. "But what is not going to happen," he said, "is that applications that companies have invested in over the past 30 years will be thrown away." The IBM approach, he said, is that companies need to build Web services on an open framework that can be completely extensible. "J2EE gives complete programming independence any time on any hardware platform," he said.
Let the editors know what you think in the Mailroom.