Aunque les parezca muy extraño, .NET es una plataforma mucho mas abierta que Java.
Fue diseñado desde el principio para que diferentes lenguajes (incluso de terceros) pudieran compilar al mismo codigo CLR y ser completamente compatible con el resto. Por eso existen proyectos como Mono, y muchos...