Aunque Kotlin y Scala son muy similares en muchos aspectos: código abierto, combinación de OO y programación funcional, ejecución en JVM, interoperabilidad con Java, hay algunas distinciones cruciales que hacer.
Primero, Kotlin está restringido intencionalmente para mantener el lenguaje (¡y el código!) Más simple, más legible y más comprensible. Por ejemplo, no puede sobrecargar símbolos de operador arbitrarios en Kotlin.
Segundo, en contraste con Scala, Kotlin no es un esfuerzo académico. No está tratando de innovar nuevos conceptos de lenguaje de programación, sino de reunir lo que ha demostrado que funciona bien para proyectos a escala industrial. Es un lenguaje pragmático dirigido a las empresas (algunos de los primeros en adoptar incluyen Pinterest, Uber y, por supuesto, Jetbrains).
- ¿Hay alguna aplicación que se ejecute sin conexión para Android?
- ¿Cuál es la mejor aplicación de seguimiento de pasos?
- ¿Cuál es el mejor nombre de aplicación científica para Android?
- ¿Cuál debería ser la arquitectura de mi aplicación de Android?
- ¿Qué significa "bloquear" su dispositivo Android?
Tercero, Kotlin está respaldado por una compañía (Jetbrains) y está aquí para quedarse. Esto es crucial para la adopción por parte de las empresas.
El anuncio oficial de Google ofrece algunas ideas más (aunque muchos puntos no lo diferencian mucho de Scala en este extracto):
Creemos que Kotlin es una excelente opción para Android no solo porque les da a los desarrolladores lo que quieren, sino también porque coincide con el espíritu de Android. Al igual que Android, Kotlin siempre ha sido un proyecto de código abierto, principalmente bajo Apache 2. Involucra a toda una comunidad y no pertenece a una sola compañía. Así que estamos trabajando con JetBrains para trasladar a Kotlin a una fundación sin fines de lucro. Nuestra elección de Kotlin reafirma nuestro compromiso con un ecosistema abierto de desarrolladores a medida que evolucionamos y hacemos crecer la plataforma Android, y estamos entusiasmados de ver evolucionar el lenguaje.
Fuente: Kotlin y Android