¿Qué es Kotlin y para qué sirve?
Antonio Leiva

Kotlin es un lenguaje de programación de código abierto creado por JetBrains que se ha popularizado gracias a que se puede utilizar para programar aplicaciones Android.

Pero si has llegado hasta aquí pensando que Kotlin solo se puede usar en Android, lo que te voy a contar hoy te va a sorprender.

En este artículo te quiero contar qué es Kotlin y qué puedes hacer con este lenguaje.

¿Cuándo se creó Kotlin?

Aunque Kotlin te pueda sonar a un lenguaje reciente, fue allá por 2011 cuando JetBrains desveló que estaba trabajando en un lenguaje nuevo.

Logo antiguo de Kotlin

JetBrains es una compañía que se dedica a crear entornos de desarrollo (IDEs). El más famoso es IntelliJ IDEA, el entorno en el que está basado Android Studio. Pero tienen muchos otros IDEs para distintos lenguajes de programación.

¿Y de dónde viene este nombre? Resulta que Kotlin fue creado en las oficinas de San Petersburgo de JetBrains, en Rusia, y desde la ventana se puede ver una isla que tiene este nombre.

El caso es que en 2011 desvelan que llevaban un año trabajando en un lenguaje que les supliera las carencias que estaban encontrando con Java.

Necesitaban un lenguaje que pudiera usarse con toda la base de código que ya tenían (que era Java), pero que a su vez les diera toda la potencia de un lenguaje moderno.

El único lenguaje que encontraron con estas características era Scala, pero se habían encontrado con muchos problemas con los tiempos de compilación: Scala era muy lento.

En 2012 deciden liberar el código fuente para convertirlo en código abierto y que cualquier pudiera participar en su creación.

¿Qué características debía cumplir Kotlin?

Había 4 cosas que eran indispensables

Kotlin tenía que poder ejecutarse en la Máquina Virtual de Java

También conocida como JVM. Para que el lenguaje de Java se pueda usar en cualquier dispositivo, lo que hace es utilizar lo que se conoce como Máquina Virtual. Esta hace que las instrucciones que genera el código Java cuando se compila (el bytecode) se transformen en instrucciones que el dispositivo final entienda.

Cómo actualizar Java en tu ordenador
La Máquina Virtual de Java interpreta bytecode, instrucciones que se generan al compilar

Dependiendo de la arquitectura será distinto, y así te aseguras de que el mismo archivo compilado (el equivalente a los .exe de Windows) funcione en cualquier dispositivo al que se le pueda instalar la Máquina Virtual de Java.

Kotlin tenía que poder compilarse a bytecode, porque de esa forma podían seguir construyendo sus IDEs sin necesidad de reescribir todo a Kotlin. Eso habría sido un esfuerzo imposible.

Pero esto no era suficiente. Está muy bien poder ejecutar el código de los dos lenguajes en una misma Máquina Virtual, ¿pero cómo se comunica el código viejo escrito en Java con el nuevo escrito en Kotlin?

Kotlin tenía que ser 100% interoperable con Java

Era requisito indispensable que el nuevo código escrito en Kotlin pudiera “hablar” con el código escrito en Java en ambas direcciones.

De esa forma, una clase escrita en Kotlin se podría usar desde el código antiguo en Java: Pero también a la inversa (y casi más importante): el poco código que había escrito al principio en Kotlin tendría sí o sí que utilizar esa enorme base escrita en Java.

Esto ya lo hacían lenguajes como Scala, pero Kotlin va más allá, porque la interoperabilidad se hizo todo lo sencilla que podía hacerse para que prácticamente nada quede en manos del programador.

A efectos prácticos, en cualquier proyecto escrito en Java, se pueden empezar a añadir nuevas clases en Kotlin sin necesidad de reescribir todo el código.

Los tiempos de compilación tenían que acercarse a los de Java

No podía ser que para trabajar con este lenguaje tuvieran que perder más tiempo, así que este fue uno de los objetivos a medio-largo plazo.

Es cierto que al principio no se consiguió, y que aún hoy en día siguen mejorando cosas. Pero en comparación con lenguajes como Scala, no hay color.

Un lenguaje moderno y potente, pero pequeño y fácil de aprender

Si conoces Kotlin, ya sabrás a qué se refiere esto. Si no, te animo a que te unas a mi masterclass gratuita para que lo veas en directo.

Es un lenguaje estático que en muchos casos se comporta con la simplicidad de un lenguaje dinámico, y orientado a objetos pero con muchas capacidades funcionales.

Además desde el principio se han preocupado mucho de añadir al lenguaje solo las características estrictamente necesarias para que siga siendo sencillo de usar.

Y de repente, Kotlin aparece en Android

Allá por 2015 fue cuando yo descubrí Kotlin, todavía no había salido ni la versión beta, pero algunas personas del sector ya estaban empezando a hablar sobre ello.

Recuerdo perfectamente un documento que Jake Wharton escribió para comparar cuáles eran los posibles lenguajes para trabajar con Android, y que él recomendaba usar Kotlin.

La espiral fue creciendo poco a poco, y lo vi muy claro cuando a mediados de año publiqué los primeros capítulos de mi libro Kotlin for Android Developers, y en pocas horas hubo como 100 ventas.

A finales de 2015 aparece la beta del lenguaje, y principios de 2016 la versión 1.0, y todo estalla.

Archivo:Kotlin logo.svg - Wikipedia, la enciclopedia libre
El logo de Kotlin cambió con las versiones finales del lenguaje

La comunidad Android le pierde el miedo a usar el lenguaje, y el uso de Kotlin crece exponencialmente.

Tanto, que en 2017 Google anuncia que Kotlin será lenguaje cooficial en Android junto con Java, y en 2019 declaran que Android es Kotlin First, dejando claro que es el lenguaje en el que se van a centrar.

Y aquí Google quiso cubrirse las espaldas.

Nace la Kotlin Foundation

En 2017, el mismo momento en que se anuncia el soporte a Kotlin, también se presenta la Kotlin Foundation, de la que forman parte tanto JetBrains como Google.

De esa forma Google se libraba de los posibles problemas legales que pudiera acarrear el uso de este lenguaje en Android.

Puede que sepas que Google está hasta arriba de problemas con Oracle por algunos temas relacionados con el uso de Java en Android. Con Kotlin ya no hay forma de que esto ocurra.

Uno de los lenguajes con mayor crecimiento, y usando ya por millones de desarrolladores

El crecimiento ha seguido siendo exponencial año a año, en gran medida ayudado por el impulso que Android le ha dado.

En mi masterclass gratuita entro más a fondo en estas cifras, y cuáles son los datos específicamente para Android, así que te recomiendo que no te la pierdas.

¿Entonces para qué sirve Kotlin? ¿Solo para Android?

Pues la verdad es que no, Kotlin va mucho más allá.

Ya te he contado que Kotlin puede usarse en cualquier sitio donde se pueda instalar una Máquina Virtual de Java.

Pero no se queda aquí, existen variantes de Kotlin que permiten usar el lenguaje en infinidad de sitios, y también van creciendo sus usos en estos ámbitos.

Pero esto te lo voy a contar en un próximo artículo, ¡así que no te lo pierdas!

Quizá también te interese…

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 : Las 5 novedades que puedes empezar a usar hoy

Kotlin 1.5.0 ya está aquí, y como siempre trae una serie de novedades que te van a interesar muchísimo. Cabe destacar que a partir de ahora, de acuerdo las nuevas versiones de Kotlin se lanzarán cada 6 meses, independientemente de las nuevas funcionalidades que...

2 formas de recolectar Flows en la UI que SÍ funcionan

2 formas de recolectar Flows en la UI que SÍ funcionan

En la serie de artículos sobre Programación Reactiva con Flow hemos visto muchos conceptos, y hemos aprendido cómo aplicarlos al desarrollo Android. Pero hay algo que no hemos hecho del todo bien. Esto es la recolección de Flows desde la Activity (o el Fragment, en...

Cómo hacer tests de Corrutinas y Flows – Paso a Paso

Cómo hacer tests de Corrutinas y Flows – Paso a Paso

¡Vaya viaje por el que hemos pasado en estos artículos! Hace ya varios de ellos empezamos hablando sobre la programación reactiva con Flow, y hemos aprendido un montón de conceptos e ideas sobre cómo aplicarlos en el día a día. Pero nada de esto está completo si no...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *