Which is going to win - Java or .NET?

COMPETITION between .NET and Java is shaping up as the next big battle in software development. Caitlin Fitzsimmons spoke to two Gartner analysts about their predictions for the fight and the role of open source.

Which is going to win - Java or .NET? Mark Driver: Neither. They're both going to compete long term. Together, they'll have about 80 per cent of the market share but neither is going to win.

How will that 80 per cent break down?
MD: We're saying about 40-40, it may be as high as 50-30 in favour of Java, long-term.

Does that mean shrinkage of Java or is the market growing overall?
MD: The market between the two is growing. The losers are anybody other than Microsoft and Java. The losers here as both platforms grow is the proprietary 4GLs, things like RPG and COBOL, those kind of things, they're being pushed into a tighter portion of a niche market.

In your view, is the fact that .NET supports multiple languages an advantage or a disadvantage? It's been suggested to me that it's actually a disadvantage because it increases the complexity, it makes it too easy to have a system made of all these Lego parts based on different languages and therefore can be difficult to maintain. MD: There's arguments on both sides. The argument for that is that it's largely inappropriate or impractical to train your entire IT staff in a single language. The .NET proponent would argue that if you already know Visual Basic, if you already know C++, if you already know Perl, if you already know these various languages, if you can take that same skill sets and move them to .NET and use the same languages, including things like COBOL, there's an obvious advantage there.

Now even if you take that with a significant grain of salt, there's a hint of value in it. You have to realise that not every programming language is appropriate for every solution, there's a right tool for the right job. The downside of course is that you can quickly end up with a large mixture of skills that have to be maintained.

You can end up with a hodge-podge of various technologies so the cost of the solution is actually higher. The Java proponent would argue that the value of Java is that you can train once, write everywhere, so you can have one language that can be applied to the database level, the business object tier and the client tier, and there's value to that.

The question is which of those two extremes you follow. I don't think either one is 'perfect' but some organisations are going to be more attracted to one than the other.

I can see what you're saying about of programmers being trained in particular languages already, but isn't the major benefit to that for Microsoft because it makes it easy for developers to choose .NET rather than Java, but the problems would come for the enterprise down the track?
MD: For certain classes of applications that may very well be the case, for other classes of applications it may not be the case. Perhaps you're dealing with a set of applications that are going to live for three to five years. Maybe the largest cost is going to be incurred in training.

On the other hand, if you're dealing with an application that's going to live 15 years, you're probably better off going ahead in training everyone in C# or some other common language. Keep in mind just because .NET can do multiple languages, doesn't mean it has to.

We believe that, despite the fact that there's well over 20 languages supported by .NET, the vast majority of the .NET world will revolve around two languages, Visual Basic and C#. Those two languages will demand well over 85 per cent of the .NET development space.

0 comments:

Found it Useful Please