¿Que se está discutiendo?¿ El lenguaje? ¿ La maquina virtual ?
Cita:La idea de tener un framework atras que te permita compilar codigo en muchisimos lenguajes y te lo convierta a algo comun es increible.
Java tiene como lenguajes pesados:
- Java,
- Groovy (actualmente, es un lenguaje oficializado por la JSR 241)
- Jython,
- Scala,
al igual que tiene muchos mas, como Noop, JRuby, y una larga lista... En mi experiencia personal, he visto que se utiliza BOCHA groovy (y actualmente, lo utilizo para un par de cosas de testing con web services, via SoapUI).
.NET tiene como lenguajes pesados:
C#
VB .NET
F#
...... y al menos bajo mi punto de vista, los lenguajes que usan .NET no son conocidos, hasta que Microsoft no se preocupa en fomentarlos (entonces, conozco muy poca gente que haya utilizado IronPython, por ejemplo). Es mas, hasta son discriminados por la misma comunidad (como es con los de VB . NET).
A lo que voy es que la idea de tener un framework atras no es exclusiva de .NET. Solo es que Microsoft lo usó primero como estrategia de marketing.
Si tengo que elegir entre los dos mundos, me quedo con java, por ser Open Source(*), y por brindarte una gama enorme de herramientas distintas para hacer lo que quieras (cosa que no he visto en la gente de .NET, que generalmente tienen todo el pack de productos microsoft: Windows 7 + VisualStudio + TFS + Silverligth + Sharepoint + IIS + IE + SQL Server + .... ) y que te hacen parir si decidis no usar uno de ellos (He visto gente putear bastante, porque X wizard o X aplicación no le funciona bien cuando intenta NO usar X cosa de microsoft). Es mas, hasta creo en mi laburo hubo problemas porque el utlimo Visual Studio te exigia que tengas Windows 7....
Ahora, si exclusivamente vemos el leguaje Java 1.6 vs el lenguaje C#, si, C# tiene muchisimos chiches mas.... los cuales gran parte ya están en Java 7.
(*) Talvez sea desconocimiento, o que era mas grande cuando comencé a usar Java... pero con .NET, nunca pude meterme a un IRC a preguntar cosas sobre porqué no me funciona tal cosa..... cosa que con Java, he realizado muchisimas veces.