También investiga sobre Mono:
http://www.mono-project.com/Main_Page
En otras palabras es una implementacion de C# sobre Linux y es open source. Actualmente ya tienen una gran parte de las librerías .Net implementadas y se están enfocando en móviles que no tienen Windows Phone.
En diversos sitios de software libre ya puedes descargar ejemplos de sistemas que corren en Linux o Windows y que Están en C# (Mono).
De todos modos si quieres algo que sirva en todos lados siempre tendrás que hacer ajustes.
No soy detractor de Java, más bien encuentro que no hay ningún lenguaje que te sirva para todo. No?