¿Qué es Kotlin y por qué deberías empezar a aprenderlo ya?

Kotlin presenta notables ventajas frente al uso de Java y puede ser utilizado en el mismo tipo de proyectos.

Al contrario que otros lenguajes de programación, Kotlin no tiene un origen académico, sino que ha nacido como una respuesta de la propia industria. En cierto modo, es una nueva concepción de Java pensada para resolver los problemas que los programadores afrontan hoy en día.

 

¿Qué es Kotlin?

Kotlin es un lenguaje de programación pragmático pensado para funcionar con Máquina Virtual de Java (JVM) y Android. Además, puede ser compilado a código fuente de Javascript.

Se caracteriza por una perfecta combinación de características claramente orientadas a la funcionalidad durante la programación, centrándose en la seguridad, la claridad y la interoperabilidad.

Los programas en Kotlin pueden utilizar los frameworks y librerías de Java existentes. Así mismo, su interoperabilidad no requiere capas de adaptación.

Kotlin fue bautizado en honor a la isla del mismo nombre, cercana a San Petersburgo, sede de la empresa JetBrains, cuyo equipo de programadores se encargó de su desarrollo.

Su sintaxis es igualmente intuitiva. Tiene un considerable parecido con Scala –por ejemplo, los puntos y comas como cierre de frase son opcionales, y los saltos de línea suelen bastar para que el compilador entienda que la declaración ha terminado–, no obstante, es más simple y permite una compilación más rápida.

En el 2012, la empresa liberó el código fuente bajo la licencia Apache 2.

El hecho de que se trate de un lenguaje open source no es la única causa de su rápida expansión. La herramienta de conversión en un clic de Java a Kotlin ha facilitado notablemente su crecimiento en el mercado.

 

Kotlin vs. Java

Según las palabras de Andrey Breslav, líder de desarrollo de Kotlin, este lenguaje ha sido diseñado para superar a Java pero sin dejar de ser interoperable con el código Java. El propósito último no es otro que facilitar la migración a Kotlin.

Tras ser nombrado lenguaje del mes por la revista Dr. Dobb en el año 2012, alcanzó uno de sus mayores hitos en la última edición del Google IO celebrada el año pasado.

Contra todo pronóstico, Google declaró Kotlin como lenguaje oficial en Android, equiparándolo así a Java y C++. Sin duda, se trata de todo un espaldarazo del gigante californiano a las aspiraciones de Kotlin como sucesor de Java.

Nadie puede afirmar con seguridad si Kotlin llegará a sustituir a Java; sin embargo, no faltan argumentos para ello:

 

La adopción de Kotlin presenta un riesgo muy bajo gracias a su interoperabilidad con Java

Kotlin puede ser puesto a prueba en tan solo una parte del código, sin necesidad de alterar la totalidad del proyecto. Se exporta una API de Java, cuya apariencia es idéntica al código de Java.

Si, finalmente, se decide continuar utilizando Kotlin, se puede migrar el código existente o mantener el código Java legado, utilizando Kotlin para las nuevas clases y funcionalidades.

 

La curva de aprendizaje y revisión del código con Kotlin son muy sencillas

Los desarrolladores de Kotlin se han centrado en ofrecer una sintaxis de fácil lectura, por lo que la programación puede revisada por quienes aún no estén familiarizados con el lenguaje.

Además, la filosofía de Kotlin ha sido la de mejorar Java, en lugar de empezar de cero. Por ese motivo, los desarrolladores Java percibirán que la mayor parte de la sintaxis de este lenguaje les resulta familiar, pero mucho más compacta y concisa.

class Foo {
   val b: String = "b"     // val means unmodifiable
   var i: Int = 0          // var means modifiable
   fun hello() {
       val str = "Hello"
       print("$str World")
   }
   fun sum(x: Int, y: Int): Int {
       return x + y
   }
   fun maxOf(a: Float, b: Float) = if (a > b) a else b
}

Elimina las referencia nulas:

Una de las mayores ventajas de Kotlin sobre Java son las referencias nulas (NullPointerException o NPE). Este es uno de los principales inconvenientes de Java. Las únicas causas posibles de NPE pueden ser una llamada explícita para lanzar NullPointerException, alguna inconsistencia de datos con respecto a la inicialización u otros problemas causados ​​por el código externo de Java.

El sistema de tipos de Kotlin está destinado a eliminar NullPointerException del código.

Solución a algunos de los defectos de Java

Todavía hoy es posible que viejos defectos de Java nos presenten quebraderos de cabeza, sobretodo si estamos trabajando con código antiguo. Para resolver alguno de estos problemas Kotkin ha adoptado algunas ideas de varios lenguajes como C# y principalmente Scala.

Kotlin elimina el código repetitivo, lo que elimina en gran medida los posibles errores. Posee características como delegaciones, inicializaciones tardías, etc y también aborda la seguridad de tipos en las listas, que es un problema importante en Java.

 

Kotlin cuenta con un sólido equipo de atención al cliente

La empresa JetBrains está plenamente comprometida con el proyecto, cuenta con un equipo de profesionales de sólida reputación y aspira a que Kotlin fortalezca las ventas de su IntelliJ IDEA, en el cual está basado el archiconocido Android Studio.

 

Sporte IDE

Por esa misma razón y aunque en la actualidad la mayoría de entornos de desarrollo ya incluyen soporte nativo para usar Kotlin, si quieres dar tus primeros pasos te recomiendo utilizar IntelliJ que cuenta con un excelente soporte con Kotlin. Alguna ventaja tendrá que las mismas personas diseñen el lenguaje y el IDE.

Combinación de programación funcional y procedimental

Cada paradigma de programación presenta sus propias ventajas. Sin embargo, al igual que los lenguajes de programación más modernos, Kotlin brinda lo mejor de ambos mundos.

 

¿Para qué puedes utilizar Kotlin?

Kotlin puede ser utilizado en cualquier tipo de desarrollo, basado en servidor, web de cliente o Android. Dispone de soporte para otras plataformas como sistemas integrados macOS e iOS.

Actualmente, su uso está muy extendido en el desarrollo de aplicaciones móviles en Android, pero también se utiliza en data science, proyectos del lado servidor y del lado cliente con JavaScript JavaFX.

 

¿Por qué y dónde estudiar Kotlin?

El impacto de Kotlin en el sector se ha incrementado exponencialmente a lo largo de los últimos años. De hecho, portales como Pinterest, Flipboard o Basecamp ya lo utilizan, además de ser soportado por los principales frameworks.

El reciente apoyo de Google ha supuesto la prueba definitiva de que Kotlin es un lenguaje con un brillante porvenir y capacidad para plantar cara a Java.

La cuestión ya no es si deberías estudiar Kotlin, sino cuándo y dónde.

Nuestra recomendación es que lo hagas inmediatamente, pues puede suponer una clara ventaja competitiva.

 

Guía de Posibilidades Profesionales en el Ecosistema de Java