Antes de responder esta pregunta, permíteme expresar mis inclinaciones.
He trabajado en Scala durante más de 2 años y en Kotlin desde su versión beta. También tengo pocas aplicaciones de Android creadas para mis propios fines.
Como muchos otros han señalado, Kotlin es un lenguaje JVM de propósito general. Hay muchas personas que usan Kotlin para generar código javascript. Me escuchaste bien.
- ¿Qué herramientas y técnicas necesitará uno para crear una aplicación que pueda ayudar en la segregación de desechos, al reconocer el tipo de desechos a través de la voz o una foto?
- ¿Es una buena idea aprender Android con Java hoy en día?
- ¿Cómo cambio la configuración de accesibilidad en teléfonos Android?
- ¿El desarrollador de Android Java bien también se aplica para Android?
- Cómo hacer C ++ o Java en un móvil Android
Kotlin y Scala tienen sus propias fortalezas. Lo único común entre Scala y Java es que ambos pueden ejecutarse en JVM y nada, mientras que Kotlin viene solo al lado de Groovy en la interoperabilidad de Java y más en el mismo ecosistema
¿Por qué JetBrains desarrolló Kotlin?
Como los propios Jetbrains han dicho que querían mejorar la productividad de los desarrolladores manteniendo la interoperabilidad de Java y tiempos de construcción más rápidos.
¿Por qué Andoid?
Inicialmente, fueron los desarrolladores de Android quienes realmente comenzaron a usar Kotlin debido a sus ricas características y su interoperabilidad Java. Incluso Jetbrains probablemente no previó esto. La gente acaba de comenzar a amar los valores predeterminados, el rico lenguaje de programación funcional, la seguridad nula, la destrucción de objetos, etc.
No me sorprenderá si Kotlin no se convierte en el idioma predeterminado para escribir aplicaciones de Android.
¿Por qué no Scala?
Scala es sin duda un pozo fantástico aunque el lenguaje. También proporciona un rico paradigma funcional y seguridad nula. El único lugar donde no se concentró es hacerlo interoperable con Java. De todos modos, esto ni siquiera estaba en la lista de deberes para los desarrolladores principales. Scala también viene con un sistema de construcción diferente (sbt) y no le va muy bien con maven / gradle. Su tiempo de construcción es una locura y tarda casi una eternidad en terminar (2.11.x). Los programadores de Java no pueden simplemente saltar a Scala y comenzar a codificar.
Finalmente, Kotlin era solo un lenguaje de programación que estaba cerca de Java y venía con características ricas que atraían a muchos desarrolladores y simplemente iba con la corriente. Groovy podría haber estado allí si hubiera tenido el mismo respaldo financiero que Kotlin.