Shawn Wildermuth has an interesting take on the Java vs. .NET debate: it doesn't matter.
These comparisons just help fuel the religious fervor between the Sun v. MS camps. I thought that today's world was more interopability and web services we could perhaps just put the differences aside and stop caring about which specific features are better or worse in each platform. Truth be known, most every project could be developed in either toolset with little change.Thank you. Those were the words I've been longing to hear since June of 2000, when .NET was announced. Obviously, .NET has been overhyped, oversold and underdelivered. (For all the talk of "cross-language compatability", two years since release, .NET remains tantamount to C# or the moral equivalent. (VB.NET))
This point of view echoes the Perl vs. Python "debates" of the mid-to-late 1990s. Sometime in the late 1990s, it became clear that the fight was not an "us vs. them" battle, but a struggle to find the tool that fits best in your hands. Between Perl, Python and Ruby, there's no real reason to learn one of the other two languages if you're already comfortable with one. And there's very little reason to switch either (unless you were terminally unhappy in the first language of the three you started using...). Perl, Python, Ruby and Parrot are each exploring different ideas in the same realm, much like Java and C# are doing. That's good, because it leads to cross pollenation and technical evolution.
I hope one day soon we can all move past this "Java vs. .NET" debate, like many of us have moved away from the "Perl vs. Python" debate.