views:

1744

answers:

8

I've been tasked with the awesome responsibility of trying to document the advantages of using JEE for a web app over .NET. Of course via Google I am mostly getting back blog posts on how an Int is an object in Java, or a list of code comparisons. No real hard evidence or numbers.

Is anybody aware of any legitimate studies trying to prove that one of the platforms is better than the other? For example, I'd guess that there are probably a lot more free APIs out there for Java than there are for .NET. Many people share that opinion with me. But has that ever been documented anywhere, did anybody ever attempt to quantify it? Is there a study on the quality of developer (education, level of experience, even salary) that does a Java app vs. the quality of a developer that is doing .NET? etc.

I'm looking for LINKS to known studies here, not people's opinions. I already have my own opinion.

+12  A: 

People have successfully built applications with both technology stacks. People have also experienced colossal failures with both. In the end, compatibility with existing platforms and skill sets is probably what matters most when selecting one over the other. If you intend to deploy on non-Windows servers, for instance, then Java is obviously a better fit.

EDIT: The best way to get access to those kinds of studies is to get them from someone interested in selling you the technology. Otherwise, companies like the Gartner Group charge large sums of money for papers like that.

Curt Hagenlocher
+4  A: 

First off, I'm a .NET guy, so I am biased.

Second, if by JEE you mean J2EE, and you are planning web based development, then I have some questions.

If you are planning on desktop development, ask yourself if the extra 5% market share you get by using Java is worth it. Its definitely a .NET world when developing desktop applications.

However, I'm thinking you are looking at this for Web Development.

My first question, is what Java application server are you considering? Apache/TomCat is small and free, while on the flipside IBM WebSphere is huge and expensive ($2000 per cpu).

Microsoft did a great performance/cost comparison between Windows 2k3/IIS and RedHat/WebSphere here.

According to TheServerSide, .NET is both cheaper and faster in this situation.

http://www.theserverside.net/tt/articles/showarticle.tss?id=NET2BMNovember

Its a good starting point for research.

All that said, You will have to look high and low to find a java developer who does not admit that C# is a better language to enjoy writing in.

C# has real generics (Java Generics still are boxed/unboxed, its just syntax sugar), LINQ, lambda functions, delegates, and a host of other goodies that the java is missing.

FlySwat
Actually J2EE is now known as JEE, it has been for five years now. But maybe you've discovered that in the year and a half since you left this answer. :P
bpapa
WebSphere is definetly one of the worst app server in Java world.
iddqd
A: 

From the official Stackoverflow FAQ:

What kind of questions should I not ask here?

Tabs versus Spaces. Emacs versus Vi. C++ versus Java. This is not yet another place for programmers to argue about The One True Way.

Why do we have to talk about this?

Slavo
Guess you missed the part where I said "I'm looking for LINKS to known studies here, not people's opinions"
bpapa
A: 

I agree totally with Slavo but I also think that there are no silly questions. Hopefully this site doesn't become a flamewar site.

nmiranda
+1  A: 

checkout this blog...

http://it.toolbox.com/blogs/web2-place/net-vs-j2ee-java-ee-architectural-philosophy-11290

.NET vs. J2EE (Java EE) - Architectural Philosophy

+1  A: 

"Is anybody aware of any legitimate studies trying to prove that one of the platforms is better than the other?"

That sentence seems like a contradiction in terms to me. I would not consider any study made with the goal of reaching a certain conclusion to be legitimate. That's why "biased" has negative connotations.

My point is that you should be very critical with studies in an area like this. Most people who have an interest in doing this kind of study also have an interest in doing it wrong.

Jørgen Fogh
A: 

J2EE development will not cost a dime in terms of buying the OS, IDE, framework, etc. whereas .Net development is not free, you need to buy windows OS, Visual Studio, etc.

Apart from this you should look at what technology resources are available to you already. From the market you can easily get resources for both the technology at same salary.

Rest all is same in case of .Net and Java.

Bhushan
+1  A: 

I can't say much about .NET as I'm not really a Microsoft fan. As such, I do can understand why Microsoft would use Websphere in their comparisons: it is by far the worst, slowest, most hated appServer around. Now, take JBOSS for example...

HAving said that, .NET also lacks stuff JAVA has. E.g. the ease of EJB's, frameworks that can compete with e.g. Spring etc.

I am a J2EE developer for over 10 years and lately, I must say I'm really beginning to dislike JAVA. Frameworks like JSF make my hair fall out. A bunch of open-source stuff like M2eclipse does not work well. A LOT of bugs in eclipse. Many eclipse packages that are not compatible with each other resulting in NullPointerExceptions in your error console, build problems etc etc.. Shoot me but I have lost my faith in open source. It does not work at a level you could call 'professional'. I feel such is merele logical: in a company you have some pressure from people who will call the helpdesk, law-suits because stuff is bad etc and so some manager(s) will do the best they can to make sure all works together. Of course, software will always have bugs. However, when I compare my years as a C++ developer using Microsof Visual Studio against my years using Eclipse or Netbeans, I must dat Dev Studio gave me never headache. It always worked and I cannot remember it having crashed once... Eclipse? I could write a book!!

So I agree with what i read somewhere: while open-source may be free and costless, the loss in productivity is huge compared to what I had years ago... But people who never knew anything else then reply: yeah but you need to know your tools... If only they had known a little more experience in older tools...

I'm currently thinking about migrating to .NET despite my love for Apple and hatred towards Microsoft...

Lawrence