Kotlin vs. Scala
La pregunta de si elegir Kotlin o Scala no aparece a menudo en la comunidad de Android porque el soporte de herramientas de Android para Scala simplemente no es muy bueno, y la biblioteca de Scala para Android tiende a ser grande. Por otro lado, la comunidad Scala es muy consciente de los problemas que afronta y está trabajando en soluciones para ellos. Como parte de nuestro curso de Kotlin te lo explicamos
En otros entornos, la situación es diferente. Por ejemplo, Apache Spark se escribe principalmente en Scala, y las aplicaciones de Big Data para Spark también se escriben en Scala como regla general.
En muchos sentidos, tanto Scala como Kotlin representan la fusión de la programación orientada a objetos, como lo ejemplifica Java, con la programación funcional. Los dos lenguajes comparten muchos conceptos y notaciones, como las declaraciones inmutables que usan declaraciones válidas y mutables que usan var, pero difieren ligeramente en otras, como dónde colocar la flecha al declarar una función lambda y si usar una flecha simple o una flecha doble.
Los mapas de clase de datos de Kotlin a la clase de caso Scala.
Kotlin define variables anulables de manera similar a Groovy, C# y F#; la mayoría de la gente lo entiende rápidamente. Scala, por otro lado, define variables anulables utilizando la opción mónada suele ser tan prohibitivo que algunos autores parecen pensar que Scala no tiene seguridad nula.
Un claro déficit de Scala es que sus tiempos de compilación tienden a ser largos, algo que es más obvio cuando se construye un gran cuerpo de Scala, como el repositorio Spark, desde la fuente. Kotlin, por otro lado, fue diseñado para compilar rápidamente en los escenarios de desarrollo de software más frecuentes, y de hecho a menudo compila más rápido que el código Java.
Así que ya lo sabes. Adicional a Kotlin, también puedes tomar un curso de PHP y un curso de JavaScript