Java versus .NET

A while ago I wanted to check which platform is better for development – Java or .NET. I spent a long time on the Internet, found a lot of articles and none of them helped me with it. If you are in the same situation, here is some summary of what I found.

O’Reilly provides nice comparation side to side on the basic level. Worth look at as introduction. eWeek in 2006 meant that .NET already beated Java, while ComputerWorld (2002, pretty old) meant it is more important to think about integration of these two technologies and ADTMag agreed with it. Mindview also agrees that you’ll use both at the end, Java is just older and .NET will consider more new people (which is true at least at our schools).

Veridicus just lists the pluses of both platforms (and speak about C# on .NET side), Graham Glass think Java is nice in its portability while .NET has pluses as well. On the other hand Charlie Collins think that .NET mean just a lot of spent money while Java offers a lot of opportunities.

Then there are articles on JavaWorld, which, at the end, just say nothing. Baseline didn’t taky any side as well.

JJFlash meant that it doesn’t depend on the language but of people and I think he is right.

Then I found some older whitepaper and it looks like Java is a bit better. Also Yahoo answers agree with it. Watsh Rajneesh wrote an article about not completely true statements regarding Java. And Payton Byrd meant that Java compared to huge project while .NET means a small one.

Finally there is Brennan with his article while he prefer .NET and I also found some salary comparison and it looks like Java people have bigger salary (just a bit).

OK, I don’t know which one is better and for me it really looks, there is nothing like better in general, maybe better in some area. So, let’s find what is better for you right now.

1 komentář

  1. Java has many frameworks – At view layer you have Struts 1 & 2, Spring MVC, JSF, GWT and a host of others. Then you have SPring itself which is famous for the Business Layer and especially for desiging DAO (Data Access Objects). Finally, at the Data Access Layer you can choose plain JDBC or use an ORM tool such as Hibernate besides other persistence frameworks. The learning curve is high but you get more choices.
    Contrast this with .NET – it’s very controlled. You have ASP.NET for View, Custom Business Objects and then almost always Stored Procedure for databases. You have IIS, VS.NET, SQL server all on windows.
    You can of course simplify things with Java too but as far as I have seen Java architectures are generally complicated. Perhaps, their real value comes with being a middleware that can communicate with almost any platform.
    If you are building a simple to medium data driven application and there are no issues in tying to MS platforms, I think .NET will be a better and productive choice.
    Comparisons are often made based on similarity in languages, run time etc but my personal opinion is that the learning curve in Java is significantly higher.
    All the above are just my personal opinion based on my experience.

Leave a Reply