JavaFAQ Home » General Java
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
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.
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
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.
here on Australian IT site
Printer Friendly Page
Send to a Friend
Search here again if you need more info!