ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button
  Cat Fight in a Pet Store: J2EE vs. .NET
Subject:   Comparison should have stopped on Page 1.
Date:   2001-12-21 22:14:01
From:   deanwampler
Response to: Comparison should have stopped on Page 1.

I think you misunderstood my intentions on a few points. By raising the issue of "non-funcational" requirements, I was trying to emphasize the point that both implementations make or don't-make optimizations based on different choices about portability, etc. My point wasn't to create an excuse for rejecting any and all claims of .NET superiority, but rather to emphasize the point that a valid comparison must compare two things that address the same objectives, as much as possible. Otherwise, the possible conclusions from the comparison get muddled by the many differences. A good experiment always eliminates as many differences as possible.

If the same sets of compromises/design choices are made in a .NET and a J2EE implementation, then the comparison is much more meaningful. If .NET wins, then fine with me; I want the best technology available and I'm not so anti-Microsoft that I can't acknowledge things they do right. I'm really not a big J2EE partisan, especially if I perceive that the Java community is growing smug. I consider it more important to be objective when making technical comparisons. I thought I complemented Microsoft when I discussed their front-end architecture, although I'll admit that my wording was perhaps a little tentative, more out of a lack of thorough familiarity with .NET than for any other reason.

I don't consider a portable, platform-neutral system inherently superior, because there are situations where it is overkill and therefore "bad". How many projects have collapsed under the weight of such good intentions? However, a good system should give me the option, should I need it. (As an aside, in my experience, designing for portability tends to create better software anyway, even if you don't need the portability. I did perhaps hint that Microsoft's historic indifference to portability has lead to excessive coupling between components, which in turn has lead to more fragile systems.)

So, I regret that you read too much bias in the article. If I was biased, it was against misleading comparisons. Of course, Microsoft is by no means alone in doing this sort of thing.

I'm still hoping someone with the time and resources will do a .NET vs. J2EE comparison that will really give people the information they need to make informed choices, both between .NET and J2EE, and in the subsequent architecture and design activities.