The editorial focus this week on Builder.com is J2EE vs. .NET, so I thought I would skim through some of the past articles to get a sense of the debate within the Builder.com community. After reading several articles, it hit me: Maybe there’s not really a debate after all. Shops already up and running on J2EE will probably stick with Java. And Microsoft shops will probably look to .NET instead of Java. No real surprise there. Apparently, many Builder.com members came to the same conclusion.
C# vs. Java: Don’t look for a fight here
Builder.com directed a great deal of attention toward the superiority of C# over Java or vice versa. In fact, Craig Utley wrote an article citing 10 reasons a development shop should go with C# over Java or C++. Utley cited several reasons, including simplified syntax and strong object-oriented support. While Utley’s reasons are valid, especially when compared to C and C++, Builder.com member rjlorimer noted that eight of the ten reasons mentioned were also suggested about Java’s superiority not too many moons ago.
The similarity between Java and C# syntax makes for a relatively smooth transition if you have to switch from one language to the other. So maybe the issue boils down to simply an overheated platform debate.
Don’t ditch J2EE yet
On the flip side, Godfrey Baker wrote an article arguing that developers should not switch from Enterprise Java Beans (EJBs) to .NET. Baker cites several reasons, including no support for container managed persistence and different session handling. Again, member jeffyjones asks if this is a pointless debate. "I'm personally a .NET developer, but I wouldn't go Java anymore than Java developers would go .NET. There isn't any reason to!"
Member ez9926 seconds this thought. “Why would [an] established Java development environment move to .NET in the first place? Does it offer a quicker development to implementation time? Does it offer something Java doesn't? In to coming years what we will see is Java and .NET, not Java versus .NET.”
Yet, another member thinks that ditching a working Java platform for .NET seems ludicrous. "Why on earth would they approve a large development to move an existing (working) system from one platform to the other? The only reason I can think of is because their technical advisors want to improve their own resumes," wrote Simon 123.
The future pseudo-debate
If the Java vs. .NET debate is only a matter of platform bias, what can you expect down the road as .NET rolls out of early adopter stage? Member bayard suggests that C# will dominate client development efforts and Java will continue to rule the server-side. "C# and .NET will replace Java, on the client. They make sense there, as it's rare to care about non-Windows clients. But to replace EJB with .NET seems a mistake, .NET is the newcomer here, and to replace JSP with ASP seems a poor choice unless you're stuck with lots of VB coding Web designers. Architecture of the future is destined to be C# applications talking to Java servers. That way the [Microsoft] dominance on the client and continuing [Microsoft] weakness on the server can both be fulfilled.”
Your two cents
I believe that the J2EE vs. .NET "controversy" is mostly hype over a platform debate fed by the fire of fanatic loyalists. Java shops are not going to ditch it for .NET and vice versa.
What do you think? Is there a real debate with J2EE vs. .NET, or is it just media hype? Post your comments below or e-mail me.