Este artículo arroja algo de luz sobre la situación. El enlace más pertinente dentro de ese artículo es este . Por lo tanto, tiene una base de instalación masiva con muchos programadores que conocen el idioma y se enseña ampliamente en las universidades. C ++ se eliminó del plan de estudios de mi escuela, Java todavía está aquí. Java tiene Java ME que tiene una base de instalación masiva en otros teléfonos celulares. El Pantec Ease que tengo en mi bolsillo ahora tiene una pequeña taza de café en la esquina de la pantalla. ¿A alguien le importa adivinar qué es eso?
Esta respuesta en Stack Overflow también lo cubre bastante bien.
Resumen de la respuesta SO:
Java es un lenguaje conocido, los desarrolladores lo saben y no tienen que aprenderlo
es más difícil dispararte con java que con código c, c ++ ya que no tiene aritmética de puntero
se ejecuta en un vm, por lo que no es necesario volver a compilarlo para cada teléfono y es fácil de proteger
gran cantidad de herramientas de desarrollo para java (ver primero)
varios teléfonos móviles ya usaban java me, por lo que java era conocido en la industria
la diferencia de velocidad no es un problema para la mayoría de las aplicaciones, si fuera así, debe codificar en el ensamblaje