Skip to content

Bruce Eckel – Java vs. .NET

Java vs. .NET


  • Which platform i.e. .NET or Java is going to dominate in next 3-4 years?

There are two factors here: Java has a large, passionate following of people who have spent enough time with the language to know it well. It has generally served them well — at least for server-side programming and for some desktop application programming. And Java is cross-platform, something which continues to grow in importance as Linux becomes more popular and since Apple has gone to OSX (and now, finally, supports Java — quite well, as it turns out).


The second factor is that Microsoft still dominates the desktop. Lots of people who used to adore Microsoft now don’t, but they still use it. If you were trying to create a product that you wanted to sell a lot of, you’d be crazy not to at least make it work under Windows. Yes, Java will work under Windows, but it looks different enough that it might scare some people off.


And C# is nothing to sneeze at (precisely what I did when I first saw it, primarily based on Microsoft’s past performance implementing the C++ standard, which was nothing short of abominable). C# is the best thing Microsoft has done in the language arena — very well thought-out and architected. I’d have to say, strictly from a business standpoint, if I were creating a product that I was basing the company on, I would seriously consider writing it in C# (at least, when the next MS Windows looks more imminent, since in theory it will have the .NET runtime built in).


There’s no question that C# is the first real competition Java has seen, and already Sun has started to respond to this. JDK 1.5 will have features that are clearly inspired directly from C#. At Java One they announce some kind of new desktop development system where they want to make the creation of GUI desktop apps easier than VB. Based on this response, I can say that C# will do nothing but good for Java. In addition, IBM’s Eclipse development environment provides a competetive alternative for Visual Studio and their SWT provides a more native GUI look-and-feel than does Swing, so you have the option to create something that won’t look so unfamiliar to users.


All that I’ve said here just indicates that there will be no clear winner right away. There’s going to be a battle (or a war), but in the best sense of the word: both companies will be fighting to do things to attract programmers, and that means trying to make your life as easy as possible. The best possible outcome will be that both languages/platforms stay in the game and that this battle continues. You may wonder how Java/Sun can win against Microsoft, but keep this in mind: IBM puts roughly 10 times the money into Java per year that Sun does. Even if Sun can’t come up with a new, insightful business plan (see Robert Cringely’s discussion of this) and goes under, IBM will take the helm and continue to support and promote Java. So the battle will continue, to our benefit, and in the end I think you’ll be able to choose the language you want depending on what you need.



I totally agree with him… But obviously I prefer C# ;-)

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • Facebook
  • Twitter
  • Google Bookmarks
  • FriendFeed
  • Google Buzz
  • HackerNews
  • Posterous
  • Reddit
  • Slashdot
  • Tumblr