Dado el anuncio de Google de haber aceptado a Kotlin como posible lenguaje oficial para Android no está de más comprender un poco de Kotlin, por si acaso. Kotlin es un lenguaje de programación desarrollado por Jetbrains en San Petesburgo, Rusia, su nombre se debe a la isla de Kotlin.
Los primeros pasos que dí en Kotlin, fueron un poco frustrantes, pero poco a poco se han ido solucionando.
I. Instalación:
Si se utila Android Studio o IntelliJ IDEA, se puede instalar directamente el plugin por medio de ellos, tengo Android Studio, sin embargo mi experiencia con los IDE, es que suelen ocupar demasiado espacio en la computadora y consumen muchos recursos, para aprender rápido, prefiero algo más ligero, así que opté por utilizar la terminal y el editor de texto de Linux para el aprendizaje. Para instalarlo desde la consola se puede el SDKMAN:
Paso 1: $ curl -s https://get.sdkman.io | bash
Paso 2: $ sdk install kotlin
Los archivos serán guardados en /home/<nombre usuario>/.sdkman
II. Escribir el primer archivo:
Utilizando el editor de texto, creando un <archivo>.kt en nuestra carpeta de pruebas, comenzamos con un código simple:
/primer código:
fun main (args: Array<String>){
printlin("Hola, Taringueros!")
}
III. Compilación:
Fue en este paso donde tuve los mayores problemas, y por más blogs que consultaba no daba con ninguna solución.
Paso1: $kotlinc <archivo>.kt -include-runtime -d <salida>.jar
El problema que tuve era que no compilaba y el error que enviaba era:
error: no class roots are found in the JDK path: /usr/lib/jvm/java-9-openjdk-amd64
Esto se debe a que la versión 1.2.21 de Kotlin no acepta java-9, solo permite java-6 y java-8. Una posible solución era instalar java-8 y configurar el jdk_home para que apuntara a java-8, la descarté para que las otras aplicaciones siguieran utilizando java-9, opté, luego de leer el manual del compilador de Kotlin ($kotlinc -h) por la siguiente:
Crear un bash simple con el editor de texto, para no estar digitando la misma línea una y otra vez, llamado compile.sh:
#!/bin/bash
JDK_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
kotlinc -verbose ./$1 -jvm-target 1.6 -jdk-home $JDK_HOME -cp . -include-runtime -d $2
#fin del bash]
Le dí los permisos de ejecución:
$sudo chmod -x ./compile.sh
Paso2: $./compile.sh <archivo>.kt <archivo>.jar
Esta vez, fue exitoso. A otros, según parece toparon con suerte y lograron compilar desde el paso 1, a mí no me funcionó, hasta que agregé el -jdk-home, como se puede ver en el código del compile.sh
IV. Ejecución:
Kotlin crea en la compilación un archivo .jar, para ejecutarlo es necesario escribir el comando:
$java -jar <salida>.jar
Siguiente Post:
Bibliografía:
https://kotlinlang.org/docs/tutorials/command-line.html