It's no secret, even to Sun Microsystems, that Microsoft developed C# in order to compete with Java |
It's also no secret that it failed to overtake the Java market and it seems it is not going to happen (at least not in a decade). C# is used mostly for some non-critical, small scale business app frontends, but serious large scale backend and business logic stuff is written mostly in Java and C++. Examples of products where Java plays major role:
- Facebook (backend: HBase Java database, frontend PHP)
- Amazon (backend SimpleDB Java database)
- Most Google applications (GWT)
- LinkedIn (all Java and Scala)
- Twitter (backend: Scala, frontend: Ruby)
- Foursquare (all Scala)
Java shines also in things requiring high performance, scalability and reliability like database systems and web servers: Tomcat, Netty, Cassandra, HBase.
.NET is not there yet, and I presume it will never be, if 10 years of competition with Java was not enough.