Same Old Song and Dance
I might feel a little differently if it weren't for the fact that every "round" in SDForum's Smackdown prior to the PetShop round was really just the same old philosophical disagreements that these two vendors (and their respective communities) have been arguing over for months and sometimes years.
A question on security prompted Sun's team to (yawn) take aim at IIS. They even referenced a report from Gartner that suggested people move to ChiliSoft ASP instead of IIS. It's an argument that we took issue witha long time ago.
Sun criticized Microsoft both for taking too long to become interested in security and then for making rapid changes to the security model that required customers to fix existing implementations. Fix it or don't, Microsoft: Either way you lose.
Another question had the two sides arguing about the importance of APIs and application portability, comments that ultimately had the crowd booing Microsoft's Chisea. "We think much more valuable than API standards is protocol standards," said Chisea, "protocol standards that enable interoperability." Chisea downplayed the importance of portability saying that once deployed, applications rarely get moved.
It's interesting that protocol interoperability inspired boos from an audience that had come to hear a debate on Web services, aka protocol interoperability. Web services and SOAP interoperability make the platform and language used to create those services completely immaterial. On the other hand, perhaps the reaction was incited only by the idea of moving away from APIs.
A few minutes later, Microsoft's David Weller criticized the Java method and its reliance on multifarious APIs for creating "classpath hell." Weller cited code efficiency and built in source code control as clear advantages of .NET.
Sun lauded the Java Community Process—650 members strong—and noted proudly that 55 percent of the current JSRs aren't led by Sun. It criticized Microsoft's relative inattention to open standards. "The CLI and C# may be in ECMA," said Bill Day, "but there's a long list of things that Microsoft controls."
Microsoft put a big checkmark next to cost in its column, saying that .NET could be implemented at 10 percent to 20 percent of the cost of Java. "Windows isthe application server," said Weller.
To rebut, Sun's Daly cast shadows on .NET's maturity and stability as well as Microsoft's business model. "Risk is a big cost," he said. He asked the crowd to consider how Microsoft continues to be so successful if its costs are so low. "What are the hidden costs of [using] .NET?" Daly asked.
What I was seeing in this boxing ring wasn't a bout that will result in the emergence of a single champion, but rather the sad spectacle of two aging champions who haven't yet realized that their fleeting moments in the spotlight are almost over, whose importance will be eclipsed by the younger blood of XML Web services even as they pound each other over old grievances.
Crowd Gives Sun a Hollow Victory
Had a winner been declared, I think Sun would have won by decision. They were more aggressive, more direct, and had the better portion of the crowd on their side.
But none of the arguments presented by either side are new to developers. Each platform has its philosophy. Microsoft's that interoperability and developer productivity are the worthwhile rewards of tight integration and platform optimization. Java's that choice, flexibility, and portability should not be relinquished for any other goal. Java's that better software requires community agreement. Microsoft's that better software is better software, regardless of how it's invented. Java's that your code should run on every platform. Microsoft's that every language should run on your platform.
Neither philosophy is inherently wrong. They only become right and wrong if you decide that one of those tenets is essential to you. And once you've done that, a little thing like a Pet Shop benchmark isn't going to make one bit of difference.