ProgramandooIntentándolo

Hola mundo en Kotlin

reset css

Kotlin es un lenguaje de programación tipado estáticamente (la comprobación de los tipos se hace en tiempo de compilación) para aplicaciones multiplataforma que es 100% interoperable con Java y Android y que se ejecuta en la JVM (Java Virtual Machine) y que también se puede transpilar a javaScript para hacer aplicaciones para navegadores, vamos un lenguaje de programación para todo, la verdad es que suena bien… además Google lo ha hecho oficial para Android así que por lo menos en este ámbito va a ser importante.

La idea con la que se creo este lenguaje es que fuese claro, conciso y fácil de leer y escribir, si no conoces otro lenguaje de programación pueden parecer cosas de sentido común, pero como vengas de Java por ejemplo, seguro que estás “cansado” de escribir código repetitivo e “innecesario” hasta la saciedad (getter/setter, validar que no sea null, …).

Y si, lo de interoperable quiere decir que desde el código Java se puede llamar al código escrito en Kotlin y viceversa ya que ambos generan el mismo bytecode y por eso Kotlin se puede ejecutar en la máquina virtual de Java.

Vamos a comenzar con el típico “Hola mundo” para introducirnos poco a poco en el mundo de Kotlin.

Aunque podríamos utilizar cualquier IDE para hacer las cosas más sencillas vamos a utilizar IntelliJ IDEA ya que no necesitamos ningún plugin especial y es de esperar que tenga un buen soporte ya que JetBrains son los creadores de Kotlin.

intelliJ

Nos descargamos la versión Community que es gratuita, la instalamos y vamos a crear nuestro primer proyecto Kotlin.

Seleccionamos Kotlin en la parte derecha y nos quedamos con Kotlin/JVM porque no queremos transformar nuestro hola mundo a javaScript.

Crear proyecto kotlin

Elegimos un nombre y una ubicación para nuestro proyecto y la primera vez también tenemos que indicar la ruta en la que tenemos instalado el JDK, que debería similar a C:\Program Files\Java\jdk-9.0.1 si usas Windows y le damos a Finish para crear nuestro primer proyecto.

Nuevo proyecto kotlin

Hacemos click derecho sobre la carpeta src de nuestro proyecto y dentro de New seleccionamos Kotlin File/Class, rellenamos el nombre y el tipo lo dejamos en File porque para el hola mundo no necesitamos clases.

Crear una clase en kotlin

Y ya tenemos un archivo con extensión .kt, que es la propia de los archivos de Kotlin y estamos listos para hacer el hola mundo.

Y el código del hola mundo en Kotlin es…


fun main(args: Array) {
   println("Hola, mundo de Kotlin!")
}

Si, solo son 3 líneas, parece que lo de conciso va a ser cierto, pero vamos a compararlo con el código Java para conseguir el mismo resultado.


public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("Hola, mundo de Java!");
    }
}

La versión en Kotlin es un poco más “simple” pero son muy similares. Vamos con las diferencias.

Para empezar en Kotlin no es necesario declarar una clase, ya que se pueden crear funciones a nivel de package (top level functions), que para casos como el main o para las típicas funciones de “utilidad” que solemos tener en todos los proyectos pues está bien porque no es necesario que todo sean clases y si se meten dentro de una clase es precisamente porque no hay otra opción (Kotlin las convierte en clases por detras).

La forma de definir métodos o funciones en Kotlin es con fun y el modificador public no es necesario porque las funciones por defecto son públicas, pero si no queremos que sea así pues podemos usar private, protected, internal o public que como hemos dicho no es necesario porque es el valor por defecto.

Seguimos en la primera línea y vemos que el tipo de los parámetros se pone detrás de su nombre y precedido por los “:” al contrario que en Java que los tipos van antes, aparte de eso en ambos tenemos que tener un método main y ambos reciben un array de strings.

Otro de los cambios que vemos es que no es necesario el uso de “;” al final de cada sentencia, vamos que nos podemos ahorrar una pulsación… para los que estamos acostumbrados a Java y los seguimos poniendo cuando usamos JavaScript nada nuevo, aunque siempre es bueno acostumbrarse a los estándares.

Y para terminar en Kotlin podemos llamar directamente al método println() o bien podemos usar kotlin.io.println() y como curiosidad podemos ver la implementación de este método haciendo Cntrl + click sobre println y sorpresa internamente estamos llamando al System.out.println() , una muestra de cómo desde Kotlin se puede llamar y se llama a código Java.


/** Prints the given message and newline to the standard output stream. */
@kotlin.internal.InlineOnly
public inline fun println(message: Any?) {
    System.out.println(message)
}

Ejecutar kotlin

Y ya solo nos queda ejecutar el programa haciendo click en Run en la barra de herramientas, después en Run… y finalmente en el nombre de nuestro archivo en el popup que saldrá o podemos hacerlo más rápido haciendo click sobre el icono de Kotlin que esta junto al número de la línea en la que está la función main

En ambos casos se va a compilar el código y se creará la carpeta out donde podemos encontrar el .class generado y en la parte inferior se mostrará la consola con la ejecución de nuestro programa.

Hola mundo kotlin

Y listo ya tenemos nuestro hola mundo y estamos listos para empezar de verdad con Kotlin.