When talking about Java and .NET people tend to get radical and irrational - I know I do. So I'll try to be write this post as objectively as the sacred .NET and heretic Java deserve.
On the beginning there was C and C++. Well, not exactly the beginning, let's say at the beginning of this war.
Then some enterprises embraced VB as a RAD platform, and VB ruled. VBScript and ASP came following and also ruled.
Then the Devil created Java. Java was beautiful on the blueprints, but lacked maturity. The ubiquity it observed made some believe it would be the solution for enterprise integration - they were wrong, the dictatorship of one language just failed. But slowly Java appeared as a solid enterprise environment, so it started to gain position on the financial markets.
Then God create .NET. It was basically a Java ripp-off, a virtualized environment with a great and well organized class library armed with a solid garbage collector. Where Java environment was multi-platform, .NET was multi-language - yes, today JVM supports a lot of languages, but not back there.
.NET was everything Java wanted to be. Solid, well designed, learning from the Java errors, it only had a problem: it was locked to Windows.
So .NET was immediately accepted even by most of those who hated Microsoft. More, Microsoft promoted a different kind of community, much broader and open-sourced, and it worked! .NET was now the new Java! More, it learned to incorporate Java concepts with ease, so kept growing side-by-side with his evil brother.
.NET had another advantage: it was drawn from one division, so it grew solid and consistent.
So where are we now in respect to Java / .NET war? Well, from my experience:
- generally .NET is still gaining terrain over Java;
- Java keeps gaining terrain over .NET on SOA;
- Java's stronghold is still the financial market;
- some alpha-geeks lost interest of .NET;
- Windows Forms desktop application continue to loose interest;
- Other cool languages and environments still didn't hit the enterprise
Here are some cool links about it:
- .NET outpacing Java?
- Java increasing, .Net declining in SOA platform deployments, says Evans Data Corp
- Java Increases and .Net Declines in SOA Platform Deployments, New Evans Data Survey Shows
- Developers cooling on Windows desktop, study finds
- Windows developers begin slow defection to Linux
- TIOBE Programming Community Index
- Microsoft is dead
- Is Microsoft losing the Alpha Geeks?