Dilin cross platform olması için çalışacağı ortama uygun compile edilmesi lazım. Mesela android ortamında java çalışıyor. Ama c# ile geliştirebiliyorsunuz. Aslında xamarinde yazdığınız kodlar birebir çalışmıyor. Sizin yazdığınız c# kodları java kodlarına dönüştürülerek çalışıyor. Burada bu ayrımı yapmak lazım. Bu sebep ile java öğrenmek iyidir. Performanslı ve cross platform bil dildir.