.NET vs Java – Do we still need to talk?


.NET vs JAVA is a hot topic of debate, specially in an enterprise environment. Every team does try to impress the stakeholders and convince that their (although not really) technology is the best in the world and why any new initiative should be started with it and only it.

If we look at how .NET has evolved, we can clearly see that .NET has surpassed JAVA in many ways since 2001 and the current market share of .NET confirms this story. I believe the reason for this is “Developer Productivity” and “Developer Friendlyness”.  Any technology to get adapted and to get used for application development, need to provide Developer Friendlyness first. User Friendlyness can be achieved using any technology (as it is more of a training thing and most difficult to use softwares can also be used with training – example The Airline Terminal Systems)…

 

I happen to go back through various statistics and good resources on comparing .NET vs JAVA and found couple of excellent links and PPTs which I am posting here:.

1. Excellent PPT here:

2.  Here is another  very good one. However, need to modify to suit the current trend. This is very old as per .NET 1.1 but still relevant.:

3. For more reading and to put some evidences, this might be a good read.

http://blogs.forrester.com/application_development/2010/02/forrester-databyte-application-platform-adoption-trends.html

 

<<Edited on 7/28>>

After reading couple of comments I thouhgt, let me complete this blog entry by writing some of my own thoughts apart from the links. I agree that the decision to use .NET or JAVA is more demanding than just looking at C# vs Java. I really would like to highlight one question that I want to shed some light here:

How many startups use .NET or Microsoft Platform?

RE: I am really very impressed with Microsoft’s overall vision and ecosystem that it has created over the years. As far as I know, there are many alternatives for Software Cost for startups, students and academic institutes like BizSpark, DreamSpark, WebSpark and Academic Alliance which can offer softwares at almost no cost. On top of it, as far as web applications are concerned, now a days Windows Hosting is cheaper and doesn’t require to selll your house to get one website running. I feel it is more awareness issues than a point of debate. If you really want to see thru the benefits Microsoft Technologies provides you, you would really pick and choose it. On the other hand a JAVA world is more suitable when you just want to sail your boat as opposed to grow faster.

 

 

 

Comments (4)

  1. Kris says:

    Most companies do not make a decision based on the merits of the language differences between C# and Java. This is especially true when it comes to Java and C# camp. Licensing is a big deal especially for start ups. Of late with the social networking trend being on the rise, scalability becomes an issue soon enough than later and it is important for start ups to provide a good service with little infrastructure costs. This is where C# fails because of the Windows server license requirements and costs associated. I have rarely seen start ups using Windows technologies unless they are in the ISV sphere integrating with Windows products. Even though Java may be lacking in many of the features C# has, there are plethora of languages on the JVM that allow for some great capabilities – Eg: Scala, Clojure, JRuby (recently announced Kotlin, Ceylon and more to come) and that ecosystem is more powerful than its counterpart, the DLR on .NET. If Twitter and Linked are using Scala, it goes to show how mainstream it is to use languages on the JVM for today's high volume apps.  I guess my take is that the merits of the programming language are not the primary concern from the stakeholder's point of view. It may be one of them. I am in a unique position that I use both the platforms (Java and .NET) for my work and enjoy both of them.

  2. Tim Copenhaver says:

    .NET, and in particular C#, come in ahead of Java in my book for two major reasons. First, C# isn't so strictly and snobbishly object oriented. The language allows for anonymous methods, it supports AOP extensions, etc.. Some of these things are possible in Java (e.x. anonymous classes) but they seem to be intentionally made difficult to demonstrate the presupposed superiority of a pure OO approach. You have to dip into Scala, Clojure, or something similar to get outside of the OO rules in Java.

    Second, and maybe more important, is the IDEs. Eclipse and Netbeans are nice and all, but I have never seen any IDE for Java that even scratches the surface of what is offered in Visual Studio. It's not even close. VS actually makes programming fun instead of a frustrating search for the correct tools.

  3. Anon. says:

    your rss feed does not work. plz check it out.

  4. sadiq says:

    .NET vs JAVA is a hot topic of debate, specially in an enterprise environment. Every team does try to impress the stakeholders and convince that their (although not really) technology is the best in the world and why any new initiative should be started with it and only it.

    If we look at how .NET has evolved, we can clearly see that .NET has surpassed JAVA in many ways since 2001 and the current market share of .NET confirms this story. I believe the reason for this is "Developer Productivity" and "Developer Friendlyness".  Any technology to get adapted and to get used for application development, need to provide Developer Friendlyness first. User Friendlyness can be achieved using any technology (as it is more of a training thing and most difficult to use softwares can also be used with training – example The Airline Terminal Systems)…