Slashdot Mirror


J2EE vs. .NET in Productivity Comparison?

Matt Hughes asks: "When does one programmer's preferences (Java over Microsoft-anything because they hate Microsoft, or Microsoft over open-source because open-source is evil) and the variety of choices start to erode productivity? As a J2EE developer for the past few years, I admit that I've become frustrated at the number of choices out there. Every one offers a different way of doing things but they don't all interoperate (JBuilder doesn't natively understand Struts) and none of them -- in my experience -- pulls all of the web technologies together very succinctly. Does Visual Studio .NET and the .NET framework pull this together better than the open-source projects out there, or is it just as complicated in your experience? Is .NET too immature to be trusted? What are your thoughts?" For those interested in the raw performance numbers, Slashdot did a performance comparison between the two technologies, in an earlier article.

"I've recently been asked to produce a report listing the pros and cons of J2EE and .NET as a web application development platform. I've been using J2EE for years now and haven't even touched .Net as I dislike most Microsoft products. However, for the report, I am trying to be objective. From my own experience and from what I've read, it seems the defining issue for some people is choice.

As far as language preference, some argue Microsoft allows too much (VB.NET, C#, and supposedly everything else *eventually*) and J2EE too little (Java). As far as development environments, Microsoft offers too little (Visual Studio .Net, Windows Server 2003, Windows only) and J2EE provides too much (JBuilder, Eclipse, Tomcat, JBoss, Websphere, any OS/hardware combo, etc)."

1 of 68 comments (clear)

  1. Re:.NET vs Java by UPi · · Score: 5, Informative
    Please note that the question wasn't C# vs Java, but .NET vs J2EE. The languages themselves are just plain irrelevant in this case. Also note that .NET is not just C#, but a whole bunch of CLI'ed languages (there's even a bastardization of C++ there).

    I have used both J2EE and .NET, and there are a few things I can offer for the report.

    • J2EE is more mature. It's been around longer, so it simply had a longer time to grow out of childhood sicknesses. For example: The documentation is more complete. .NET's docs are like all Microsoft docs: mostly generated, and sometimes the very reason you're reading them is missing. For example sometimes you don't have a clue what exceptions a library method can throw...
    • .NET is pretty handy for what it was concieved: creating simple web-based DB frontends. If you want an object model behind it, with good persistency options, you will want to choose J2EE instead with it's Enterprise Java Beans.

      This is quite general for everything: e.g. .NET has the almighty DataSet, J2EE has persistent beans. DataSets are simple, but go back to the structured programming age. The beans are more sophisticated, but take a little longer to get the hang of.
    • Learning curve: IMHO J2EE takes a little longer to comprehend. Once you got the hang of them, though, both environments are easy to use.
    • Oh and one more thing: C# doesn't check the exceptions. I may be a purist, but I just detest that. You have to document, maintain, and generally keep an eye out for your and the system's exceptions all the time (of course sometimes you have no idea what system exceptions there are..)


    Summary: If you want a quick and dirty DB frontend, go for .NET (with C# or VB). If you want something more complex, I'd recommend J2EE.