Jeśli zadać pytanie o najbardziej zaawansowany język programowania dla maszyny wirtualnej Java (JVM), to, naturalnie, nasuwa się oczywista odpowiedź, że to Java, ale tak nie jest; wbrew pozorom dla JVM istnieje dodatkowa grupa języków programowania poza wymienioną Javą. Języki te oferują wiele możliwości szczególnie w zakresie programowania funkcyjnego oraz obiektowego czy też równoległego, czasem możliwości te wybiegają daleko poza ramy języka Java.