Java siempre estará en el centro del desarrollo de Android.
Pero, el movimiento de Google para hacer de Kotlin un ciudadano de primera clase no solo fue sabio, sino un movimiento necesario.
Verá, Java es un lenguaje estable y maduro, pero lleva mucho tiempo escribir algunas cosas triviales.
- ¿Cuáles son las aplicaciones móviles imprescindibles para desarrolladores?
- ¿Cuál es la mejor manera de aprender la codificación de aplicaciones de Android al instante?
- ¿Qué empresas se están beneficiando del desarrollo de aplicaciones basadas en Android?
- ¿Cuál es un buen lugar para comenzar a aprender a desarrollar algoritmos de visión por computadora para Android?
- ¿Cuáles son las mejores herramientas de desarrollo de Android?
Es un lenguaje creado para empresas, es decir, que ejecuta muchos servicios web, realiza muchas orquestaciones, etc.
Sé que puedes generar getters y setters usando IDE, y las lambdas son buenas adiciones, pero lo que Java realmente carece son variables globales y funciones puras.
Ya ves, soy un desarrollador de C ++. Muchas veces quiero tener una función auxiliar muy simple que no necesita estar relacionada con ninguna clase en particular. Java no te da eso. “Todo debe estar en una clase”, y para los globales (ab) es obligatorio usar el patrón singleton.
Kotlin, por otro lado, funciona sobre la JVM y es 100% intercambiable con Java, pero le brinda más flexibilidad. Y le brinda todas estas pequeñas peculiaridades que faltan en Java (funciones, globales, etc.).
Diría que Kotlin es para Java lo que Go es para C, una buena adición y reemplazo para ciertas cosas.
Hay un buen artículo -> Kotlin vs Java: Velocidad de compilación – Keepsafe Engineering – Medium
Pero para obtener más información sobre Kotlin y sus ventajas sobre Java, consulte -> Preguntas frecuentes – Lenguaje de programación Kotlin