/* Comentario
Multilinea */
fun main () {
println ("Hola MUndo!"); // Comentario en una linea
println ("""Una cadena de
varias lineas
como en Python""");
}Kotlin es un nuevo lenguaje de programación orientado al desarrollo de aplicaciones para Android como alternativa a Java. El lenguaje genera bytecode que funciona sobre la máquina virtual Java así que, una vez compilado, un programa Kotlin va a poder funcionar en cualquier sistema sobre el que se pueda ejecutar bytecode Java.
Al igual que con Java y otros lenguajes que ya hemos visto, los
programas Kotlin comienzan su ejecución en una función llamada
main, pero a diferencia de Java no es necesario definir una
clase para poder escribir nuestra función main, lo que hace
el programa un poco más corto.
Los comentarios siguen el estándar impuesto por C/C++ y, como podemos
ver, el lenguaje soporta cadenas multi-linea definiéndolas utilizando
las triples comillas como en Python. Al igual que en muchos de los
lenguajes que ya hemos visto, Kotlin utiliza el caracter ;
para marcar el final de las instrucciones, si bien, en Kotlin es
opcional y puede ser omitido y solo es necesario en casos en los que no
sea posible deducir de forma unívoca el final de alguna instrucción. Las
llaves {} para agrupar instrucciones en bloquies.
Al igual que en Java, Kotlin usa el sufijo ln para
indicar si queremos añadir un retorno de carro a la cadena que deseamos
imprimir o no.
Los programas Kotlin utilizan la extensión .kt.
La página web oficial contiene instrucciones sobre como instalar el compilador, el cual se ofrece en dos variedades. El compilador general que genera bytecode Java y una versión nativa capaz de generar código nativo, ambos se pueden descargar del hithub del proyecto.
Utilizando el compilador podemos generar nuestro programa con un comando como el siguiente:
$ kotlinc hello.kt $ java HelloKt
Si no proporcionamos parámetros extra, el compilador genera un nombre
para el fichero .class de salida basado en el nombre del
fichero de entrada.
También podemos generar ficheros .jar utilizando el flag
-d
$ kotlinc hello.kt -d hello.jar $ java -jar hello.jar
En caso de que utilicemos funciones específicar de kotlin (lo que no
estamos haciendo en este caso), es necesario incluir el flag
-include-runtime.
Además del compilador de bytecodes, está disponible un compilador nativo, el cual, una vez descargado e instalado, se puede usar de la siguiente forma:
$ konanc hello.kt o $ kotlinc-native hello.kt $ ./program.kexe
konanc and kotlinc-native son scripts que
ejecutan el mismo comando. En caso de no indicar un nombre con el flag
-o el compilador generará un programa llamado
program.exe.
El entorno nos permite generar binarios para distintas plataformas:
$ konanc -list-targets linux_x64 (default) linux_arm32_hfp (deprecated) linux_arm64 mingw_x64 android_x86 android_x64 android_arm32 android_arm64 $ konanc -target linux_arm64 -o hello.arm hello.kt $ ./hello.arm.kexe
SABIAS QUE..
Los programas Kotlin pueden ser compilados a bytecode Java, Código Nativo para distintas plataformas, JavaScript o incluso Web Assembly, si bien esta última opción es experimental.
Kotlin es anunciado en 2011 por la compañía JetBrains, conocida por el desarrollo del IDE Intellij IDEA para Java. El nombre del lenguaje se toma de la isla de Kotlin en San Petersburgo, aparentemente como un giño a Java que también toma su nombre de una isla. El lenguaje hace uso de la máquina virtual java (JVM).
La versión 1.0 se liberó en 2016 y posteriores versiones han ido añadido nuevas capacidades al lenguaje. En 2019, Google hace el anuncio de que Kotlin pasa a ser el lenguaje de elección para el desarrollo de aplicaciones Android.
Resumen
- Lenguaje Interpretado y compilable a bytecode y código nativo
- Extension:
kt - Terminador de líneas :
;(opcional) - Agrupa instrucciones con :
{ instrucciones } - Comentarios multilinea :
/* comentario */ - Comentarios misma línea:
// - Delimitador de cadenas:
"cadena" - Puedes imprimir textos con
println(No añade retorno de carro) - Soporte cadenas múltilínea:
""" cadena multilinea """ - Punto de Entrada: Función
main
■
