Current geopolitics notwithstanding, one of the greatest anticlimaxes over the past year has been the lack of real combat between .NET and J2EE. When Microsoft officially took the wraps off .NET technology last year, it was hailed as the long-awaited J2EE alternative that would re-ignite the Microsoft/Sun rivalry.
Make no mistake about it, .NET is a real competitor to Java, but has it changed the competitive landscape? We don’t think so. Instead, we believe that it has fortified believers in both camps, more so in the Microsoft world, where the customer base needed a viable alternative to Java. And yes, .NET has benefited from lessons learned with Java, especially with virtual machines and XML support.
Otherwise, we view the battle as a big yawner. If your development groups already have Java experience, there is little reason to switch. For VB folks, and developers skilled in niche languages like Eiffel that may have .NET compatibility, .NET is obviously more compelling. Otherwise, the Java vs. .NET non-competition reminds us of Linux vs. Windows. That’s because Linux competes with UNIX, not Windows, because Linux requires UNIX skillsets.
A recent forum staged by the NY Software Industry Association that was supposed to be “the great debate” between Java and .NET reinforced our impressions. “There’s room for both technologies, and in mid-large enterprises, you’ll probably see a mix,” said venture capitalist Warren Haber, a panelist from the session. Added session co-moderator Erik K. Grimmelmann, the deciding factor driving technology choice will be the organization’s culture and skills base.
Although the horse race aspects of .NET vs. Java have proven much ado about nothing, we believe that the resulting technology competition has been one of the healthiest aspects of the technology market over the past year. And we think it provides an excellent opportunity for the Java Community Process (JCP) to redirect its mission from scope creep to technology simplification.