Kotlin, la sorpresa del Google IO 2017

En este post hablaremos de la novedad que, podemos decir, fue una de las mejor recibidas por la comunidad de desarrolladores y además podría estar en el TOP 3 de los anuncios menos esperados en el evento más importante en el mundo del desarrollo: el Google IO.

Diseño web
9 minutos
Hace 8 años
Kotlin, la sorpresa del Google IO 2017

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

En este post hablaremos de la novedad que, podemos decir, fue una de las mejor recibidas por la comunidad de desarrolladores y además podría estar en el TOP 3 de los anuncios menos esperados en el evento más importante en el mundo del desarrollo: el Google IO.

Hablemos un poco de Kotlin.

Kotlin es un lenguaje de programación joven (muy joven) si lo comparamos con PHP, Python, Java y otros. Podemos decir que Kotlin aparece formalmente en el año 2012 aunque desde el 2011 comenzó a dar señales de vida. Con estas fechas en mente podemos decir que este lenguaje cuenta con apenas 5 años.

Normalmente detrás de un lenguaje de programación tenemos a una persona que años después se vuelve famosa, diferente a lo que mencionamos tenemos a una compañía y un equipo de trabajo, el nombre es JetBrains. Esta compañía es mejor conocida por el desarrollo de herramientas de desarrollo, entre ellas los IDE’s y en especial por un IDE muy bien hecho y bien valorado por los desarrolladores: IntelliJ IDEA, probablemente con esto ubiques mejor a la compañía.

Kotlin surge por cuestión filosófica de este equipo de trabajo, ellos comienzan a analizar las debilidades de Java y las ventajas de otros como Scala, C# y Groovy principalmente, en estos pasos se dan cuenta de que la clave de su proyecto era lograr el 100% de interoperabilidad con Java ya que en la actualidad ¿que computadora no tiene Java?

Así que te adelantamos algo, para ejecutar Kotlin necesitas una maquina virtual de Java, la famosa JVM.

Como dato especial, en Kotlin existe la posibilidad de ser compilado a código fuente de Javascript, así que con esta característica se amplia el panorama para este lenguaje.

Relación Kotlin-Android

El pasado Google IO se anuncia a Kotlin como un lenguaje nativo para desarrollo de aplicaciones Android, debemos de tener mucho cuidado con las palabras, con las comas, acentos y todo lo que mencionemos de aquí adelante ya que no queremos decir cosas que no son.

Kotlin es ahora un lenguaje aceptado de forma nativa para el desarrollo de aplicaciones Android.

Desde el inicio de Android, Java fue el lenguaje que se utilizo para crear aplicaciones, aunque se podía utilizar algunos “hacks” y herramientas para utilizar otros lenguajes, por ejemplo Python, PHP, Javascript, estos nunca fueron “Nativos”.

Nota - Cuando decimos nativo estamos diciendo que es de forma natural aceptado o implementado, que no tenemos que instalar algo extra o parchar alguna utilidad, simplemente abrimos la herramienta, escribimos y listo.

Ahora tenemos 2 lenguajes nativos para desarrollar aplicaciones android: Java y Kotlin.

Ninguno es el oficial o ninguno es el recomendado, simplemente tenemos dos opciones y cada quien puede seleccionar el que le guste y listo.

Kotlin, el bueno de la película

Como toda noticia en el mundo del desarrollo se crean muchos mitos detrás, en este caso tenemos algunos:

  • ¿Google abandona Java?
  • Ahora es Kotlin el lenguaje oficial

Google utiliza Java para muchas otras cosas, no solamente para Android. Nosotros vemos el sistema operativo Android pero detrás de las mejores y mas grandes herramientas de Google se encuentra Java, así que es muy difícil que Google abandone por completo Java.

Kotlin no es el lenguaje oficial de Android, en realidad como ya se mencionó lo que sucede es que antes teníamos que sí o sí utilizar Java, ahora tenemos la opción de utilizar Kotlin.

Kotlin tiene muchas cosas buenas y probablemente hablemos de cuales son las grandes características que tiene como lenguaje, pero eso es tema de otro artículo.

Kotlin es un movimiento en un tablero de Ajedrez

Kotlinn logo

Varias partes de la comunidad están formando diversas opiniones de este movimiento de Google por la adopción de un lenguaje no nacido dentro en la compañía.

¿Como es que teniendo a Go, Dart y otras tecnologías propias no se optó por una de ellas y sí por una de fuera?

Uno de los argumentos que la comunidad está platicando es que Google quiere demostrar que la compañía no está cerrada y escucha a los desarrolladores. Desde que Kotlin se habilitó en Android Studio con un plugin muchos comenzaron a generar un movimiento y comentarios sobre que la mejor idea era tener mas opciones y parece que Google los escuchó.

Otra teoría es que esto fue un movimiento en base al gigante pleito legal que tiene con Oracle por el uso de algunos elementos de Java y de que Google está generando millones y millones utilizando tecnología de otra compañía, pero que además no paga y no comparte ese botín.

Si Google pone una segunda opción como Dart o Go, esta teoría seguiría teniendo fuerza ya que Google seguiría detrás de cualquier implementación de Android y por lo tanto todo seguiría igual.

Al aparecer aquí se han pensando algunas ideas:

  • Un lenguaje que no le pertenece a Google y que este lenguaje viene sin fines de lucro,
  • Un lenguaje apoyado por una gran aceptación entre los desarrolladores,

Estas ideas vienen a colocar el alfil en un posición favorable para Google, ya que nadie obliga a los desarrolladores a utilizar Java, antes era la única opción pero ahora cada desarrollador es libre de implementar lo que mejor le convenga.

Java morirá lentamente

Estos son solo algunos de los encabezados que se vieron en la semana, en realidad es que estos encabezados dan muchos clic pero al final no se obtiene nada sustancioso más que las visitas.

No mencionaré todas las fuentes, pero encuestas como las que hace StackOverflow, LinkedIn y otras plataformas tecnológicas colocan a Java en los primeros 3 lugares de los lenguajes mejores pagados, más buscados y más utilizados en los últimos 5 años.

Probablemente esto pueda cambiar un poco, pero solo un poco.

Java antes de la aparición de Android ya era el gigante de los lenguajes junto a las tecnologías de Microsoft y lenguajes como PHP, estos actores eran los que llevaban la mayor parte del pastel en el mundo del desarrollo.

Para que un lenguaje baje/suba 3 o 4 posiciones, necesita pasar algo extraordinario, Kotlin puede ser algo extraordinario pero los sistemas gubernamentales que utilizan Java siguen creciendo, las plataformas que lo utilizan también, por ejemplo Uber, Twitter, Netflix y otros grandes de Palo Alto.

Mucha compañías en realidad implementan Java en sus principales productos a diferencia de lo que nos dicen en las revistas de emprendimiento y de innovación que mencionan a Java como un viejo dinosaurio.

A esto le podemos sumar el papel que esta jugando Java en el “Big Data” si no trabajas con el “Big Data” es normal que esto no te suene, pero te comparto una pista: Hadoop es una plataforma, en especifico un Framework, que se utiliza para el análisis de grandes cantidades de datos y sí, está escrito en Java. Creo que todos estamos de acuerdo en que el tema del “Big Data” apenas esta comenzando y Java está muy bien posicionado, no solo con este framework, sino que cuenta con al menos un par que son de las principales opciones en esta gran área.

Parece que con esto respondemos tajantemente: Java puede morir pero no lo sabemos, pero Android no es Java.

Migración a la isla Kotlin

Como dato Kotlin es una isla rusa, de ahí seleccionaron su nombre el equipo que desarrollo de este lenguaje.

Este tipo de cambios de migración son muy complejos, lo que vamos a ver en los próximos años es que probablemente muchos desarrolladores comiencen sus aplicación con Kotlin, pero una migración de aplicaciones masiva como las que se mencionan en algunos lados es casi imposible.

Esto es muy sencillo de entender ya que no contamos ni siquiera con una versión de Android que este en el 80% de los dispositivos (la famosa fragmentación en Android). Así que si los fabricantes no se pueden poner de acuerdo imaginemos todos los contras que pueden poner de pretexto.

En todos los ámbitos los cambios siempre tienen un alto grado de resistencia, puede ser que en tu grupo de amigos de desarrolladores todos estén dispuestos, te pregunto: ¿Te imaginas en una empresa con mas de 30 aplicaciones y con la carga de trabajo diario?.

Imaginemos esto:

Llega tu jefe y te dice que además de tus tareas y proyectos tendrás que reescribir las aplicaciones en Kotlin porque Google dice que es el lenguaje oficial, para que funcionen exactamente igual, pero estén “actualizadas”. Imagina tu respuesta.

Seguramente todo lo que esta hecho se va a quedar así, pero poco a poco mas empresas se van a ir animando a desarrollar aplicaciones 100% Kotlin y seguramente muchas otras lo sigan haciendo con Java tanto como se les permita ya que muchas Librerías, desarrolladores con experiencia en el lenguaje y la resistencia al cambio juegan un papel importante en el mundo tecnológico.

Conclusiones

Desde antes de anunciar otro lenguaje oficial para el desarrollo de android (Kotlin), Java tenia claro algo: Android le pertenecía a Java, Java no le pertenecía a Android.

Tan real es esta frase que Oracle empezó un pleito legal de años ya que el dinero que genera Android no le estaba llegando por ningún lado, así que imagínate si legalmente tienen argumentos para pelear en una corte por esto.

Android ya no le pertenece a Java.

Con la entrada de Kotlin al desarrollo de aplicaciones Android rompe la cadena de Java y simplemente es parte de la fiesta pero no la estrella principal.

Con esto quiero decir que siempre son buenas las opciones, siempre tener un plan A y un plan B es bueno. Mejoramos la barajas de opciones, se abre la competencia y sobre todo se abre el panorama para todos, de inicio los más contentos de esta noticia deben de ser los desarrolladores a los que se les dificultaba java por cuestiones de sintaxis, la sintaxis de Kotlin es bastante limpia y tiene un poco mas de sentido por el orden de las declaraciones, platicaremos de esto en otro capítulo.

Pero Java sigue mandando no solo en Android, sino en el mundo del software (por lo menos tiene trato VIP).

Comentarios de los usuarios