Hablemos de KOTLIN

SPEAKER A, HEXA, and CHIP discuss Kotlin, the JVM language created by JetBrains in 2010 and declared Google's preferred language for Android in 2019. They cover type inference, null safety with the Elvis operator, and coroutines for concurrency, plus Kotlin's full interoperability with Java.
Chapters
Parece que hablaremos de Kotlin en este vídeo especial para nuestros miembros.
¿Kotlin? Paso.
¿Cómo que pasas?
Me huele a Scala, lenguaje funcional sobre JVM.
No es un lenguaje funcional, es un lenguaje moderno.
Sigue sin interesarme. Teniendo lenguajes como Python o Nim, ¿para qué iba a querer Kotlin?
¡Chip! Kotlin es el lenguaje preferido para programar en Android.
¿Y tú lo usarías?
En verdad, yo prefiero Flutter y Dart. ¡Pero ese no es el tema!
No, pero queréis hablar de un lenguaje que no usaríais.
Yo sí lo usaría. A día de hoy, si quieres programar en la JVM de forma óptima, es una de las mejores opciones.
¿Tampoco te gusta Java?
Kotlin es un lenguaje moderno. Si puedo elegir, prefiero un lenguaje como Kotlin.
Un lenguaje contra la burocracia. Kotlin fue creado en 2010 como una iniciativa para tener un lenguaje menos burocrático y moderno. Y moderno, ¿cierto? Utilizar Kotlin en lugar de Java era el objetivo para la empresa JetBrains.
¿Y por qué Kotlin?
Fácil, Java era el nombre de una isla, además de un café. Totalmente. Así que Kotlin honra a otra isla del Mar Báltico, en el Golfo de Finlandia.
¿Finesa como Linus Torvalds?
Me temo que no, es una isla rusa.
Entonces habrá sido cosa de Leandry Breslav, el diseñador jefe de Kotlin, que es ruso.
Pensando un poco, a ver, lenguajes sobre JVM hay cientos.
Totalmente.
Entonces, ¿por qué otro lenguaje? ¿No les bastaba con, por ejemplo, Groovy?
Ni hablar, Groovy es una copia de Ruby.
¿Y qué tiene de malo?
Que querían un lenguaje de tipado estático.
Ahora sí que me voy.
Espera, Chip, que Kotlin usa inferencia de tipos. A diferencia de Java, no hace falta indicar siempre, siempre los tipos.
¡Totalmente! En Java escribimos String nombre= iHexa entre comillas dobles y por supuesto punto y coma.
En Kotlin se simplifica y solo hay que poner val nombre= violeta entre comillas dobles.
¿Se te olvidó el punto y coma?
¡No hace falta!
Voy pillando el hecho de que sea moderno.
Sin burocracia. Y aún no lo has visto todo. La programación concurrente se hace con... ¡Corrutinas!
¡Es como en Go! ¡Son adorables!
Y eso no es todo, queda lo mejor.
¡Cuéntale, Hexa!
La parte más importante.
Verás qué emoción.
¡Compila a la misma velocidad que Java!
No me esperaba esta, Hexa.
¡Pero si es la mejor!
Está obsesionada con la optimización.
Yo creo que es mejor que nos eviten el problema de los valores nulos, el famoso NullPointerException.
¿Y eso en qué ayuda?
Es una ayuda desde el compilador. Por ejemplo, imagina la variable nombre que vimos antes. Está predefinida como var, en este caso con erre y no con ele porque es una variable, y ponemos el nombre, dos puntos y el tipo de dato String con ese mayúscula y un signo de interrogación al final.
¿Qué hace ese signo de interrogación?
Indica que el valor puede ser una cadena de texto o un valor nulo.
Pues entonces te dará igual el error de valor nulo.
No, porque el compilador te obliga a utilizar una forma de acceder diferente al dato. Por un lado, si escribimos nombre operador Elvis y entre comillas ponemos desconocido, en caso de encontrar un valor nulo en nombre se escribirá desconocido.
¿Operador Elvis?
Dijimos que era un lenguaje moderno. El operador Elvis se llama así porque la interrogante con los dos puntos, visto como los emojis de toda la vida, pues parece un personaje con tupé.
¿Y por qué var y no val?
Var se usa cuando definimos los valores. En este caso debemos indicar siempre un tipo porque no le damos un valor inicial, mientras que val se usa con un valor inicial y se indica el tipo solo opcionalmente.
Estaba escuchando y solo oigo código. Se os está olvidando dar datos históricos.
Perdón, pro, cierto. Dijimos que el lenguaje fue creado en 2010. ¡Hola mundo! La primera presentación de Kotlin fue en 2011 y en 2012 decidieron publicar el código como open source con licencia Apache 2.
Pero... aún no llegamos a la versión 1.0. ¡Cierto! Recuerda que con Rust hubo tantos cambios antes de la versión 1.0 que perdieron credibilidad y esto dañó mucho su imagen para ser adoptado ampliamente por empresas.
¿Eso le pasó a Rust?
¡Estoy segurísimo de ello!
No creo... Bueno, la versión 1.0 no llegó hasta 2016.
¡Exacto! Y los mejores anuncios para el lenguaje llegaron en 2017 y 2019.
A ver... El primero fue de Google I/O, donde se dijo que Android comenzó a tener soporte para Kotlin. Pero, ¿qué pasó en 2019?
Google anunciaba que el lenguaje preferido para desarrollo de Android era Kotlin. Vale, ya podéis seguir con el resto de mejoras.
En verdad, solo nos queda decir que el lenguaje fue diseñado para ser conciso y no perder claridad.
Hay una clara tendencia a hacer los lenguajes regulares. De modo que al ver el principio de lo escrito se pueda determinar qué hace la línea. Esto me recuerda a TrueBASIC. ¿Y ya viste cómo terminaron algunos BASIC? ¿Siendo usados por miles de personas? Conclusiones. Yo aún tengo algunas dudas sobre el lenguaje. Es un vídeo introductorio y creo que lo habéis hecho bastante bien. Tenemos un lenguaje con 15 años desde su primer commit que ha progresado mucho gracias a los movimientos inteligentes de Jetpack frames, realizando un lenguaje interoperable con Java y que agrega muchas más facilidades, por lo que en sí beneficia a la JVM.
No te olvides de que se trata de un lenguaje que permite un uso con orientación a objetos y/o funcional, haciendo que estos paradigmas convivan sin problemas.
Además de que la compilación de este lenguaje se realiza directamente a bytecode, siendo óptima su implementación.
Estamos en Petit Comité. Ya somos unos cuantos más, casi 40. Somos una clase concurrida, pero aún podemos entendernos bien en los comentarios, así que no dudéis y escribid vuestras preguntas, experiencias, sugerencias, ruegos, súplicas... ¡Chip!
¡Quedó claro!
Pues eso, déjanos tu comentario.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








