Y de repente* Kotlin

Aproximadamente hace algo menos de 6 años, Jetbrains (conocida por sus entornos de desarrollo: IntelliJ IDEA, ReSharper, WebStorm, …) revelaba el proyecto Kotlin, un nuevo lenguaje de programación para la máquina virtual de Java [JVM]. El equipo técnico de JetBrains admitía no estar completamente satisfechos con las opciones disponibles en cuanto a lenguajes de programación se refiere, y se planteaba como solución el desarrollo de una nueva alternativa. Un nuevo lenguaje con un ambicioso plan en mente, reemplazar a Java como lenguaje de programación dentro de la propia compañía. Finalmente, en febrero de 2016, la versión Kotlin 1.0 es oficialmente publicada.

Desde sus inicios, Kotlin ha gozado de un fuerte apoyo mediático entre las diferentes comunidades de desarrollo, con apuestas públicas por parte de reconocidos referentes tecnológicos por el lenguaje. Y es que en realidad son numerosas las organizaciones que, durante estos últimos meses, han reconocido haber adoptado y apostado por Kotlin como lenguaje en el desarrollo de sus productos:

  • Gradle anunciaba recientemente el soporte de Kotlin para escribir sus scripts.
  • Evernote y Trello (Atlassian) han incorporado el lenguaje dentro de sus clientes Android.
  • Square, Spring by Pivotal, Pinterest, Netflix, Uber, …  

Pero, sin embargo, ha sido en estos últimos días cuando parece que todo el mundo habla sobre Kotlin. El motivo de tal revuelo es simple, el gigante Google, que hasta el momento no se había pronunciado oficialmente respecto al mismo, anunciaba Kotlin como lenguaje de programación oficial para el desarrollo de aplicaciones nativas Android, por supuesto, al mismo nivel que Java.

Por qué Kotlin?

Este es un lenguaje realmente interesante, sobre todo para aquellos con algún tipo de relación previa con Java (recordemos que Java ha sido y sigue siendo uno de los lenguajes de referencia en el sector de los últimos 20 años). ¿Qué razones podrían impulsar la adopción de este lenguaje como una alternativa viable?

Interoperabilidad 100% con Java. La interoperabilidad implica la capacidad de continuar  proyectos basados en Java utilizando Kotlin. Esto supone que todas aquellas herramientas (incluidas aquellas basadas en el procesamiento de anotaciones), frameworks, bibliotecas, etc. escritas en Java están totalmente disponibles para seguir siendo usadas desde Kotlin. Por supuesto, también en la dirección opuesta, código escrito en Kotlin ejecutado desde Java.

Sintaxis familiar. Su sintaxis resultará familiar para cualquier desarrollador que haya trabajado previamente en un paradigma orientado a objetos (POO). Cualquier desarrollador Java encontrará bastante asequible comenzar a trabajar con Kotlin.

Conciso. Se dice de Kotlin que es un lenguaje creado desde la industria para la industria, con el que permitir al desarrollador hacer un trabajo mucho más rápido, confiable y sencillo. Kotlin es un lenguaje conciso, con el cual hacer lo mismo pero con menos, eso sí, sin sacrificar legibilidad a cambio de brevedad.

Programación funcional. Mientras que Java ha sido en su versión 8 cuando ha incorporado aspectos propios de la programación funcional, Kotlin ha sido diseñado con ellos en mente desde el inicio. Podemos destacar el soporte que el lenguaje tiene sobre expresiones lambda, funciones de orden superior, añade una gran colección de métodos útiles para trabajar con colecciones, entre otros aspectos importantes.

Y mucho más Operator OverloadingNull-Safety, Extensions, String templating, Type Aliasing, ...

Más allá de la JVM

Uno de los objetivos marcados para Kotlin es la independencia de la ejecución de su código exclusivamente sobre la JVM. Las expectativas desde el equipo de desarrollo detrás del lenguaje es hacer de Kotlin una herramienta transversal para el desarrollo de diferentes tipos de proyecto, esto incluye: JVM back-end, clientes Android e iOS, full stack web-applications, desarrollos IoT y muchos más tipos de soporte que irán anunciando en un futuro próximo.

Conclusión

Quizá, después de completar la lectura del artículo la pregunta principal que ronde sobre tu cabeza sea: ¿es Kotlin un lenguaje listo para ser usado en producción? La respuesta definitivamente es , de hecho ya está siendo utilizado y puesto en producción por diferentes organizaciones en sus desarrollos. Muy probablemente para muchos, el apoyo oficial recibido por parte de Google sea el último empujón para al menos darle una oportunidad.

 

Referencias

https://kotlinlang.org/

https://github.com/JetBrains/kotlin

https://fabiomsr.github.io/from-java-to-kotlin/

https://developer.android.com/kotlin/index.html

José Luis García, Android Architect en Intelygenz

 

¿Estás buscando partner tecnológico?