Page 41 - Revista 2018 ultima
P. 41
Revista de la Facultad de Ingeniería, Año 5, Número 1de Ingeniería, Año 5, Número 1
· Tiempo de compilaciónTiempo de compilación: Ha sido optimizado para ser eficiente en Ha sido optimizado para ser eficiente en
compilación incremental.
· Curva de aprendizajeCurva de aprendizaje: La transición Java a Kotlin es bastante sencilla,Kotlin es bastante sencilla,
adicionalmente los IDEs ofrecen herramientas para dicionalmente los IDEs ofrecen herramientas para
a
convertir código Java a Kotlin.
J J JetBrains también ofrece guías y tutoriales para los que deseen aprender.etBrains también ofrece guías y tutoriales para los que deseen aprender.etBrains también ofrece guías y tutoriales para los que deseen aprender.
E E
Empresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasianmpresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasianmpresas como Pinterest, Basecamp, KeepSafe, Uber, Attlasian lo usan en sus
productos o sus ambientes. Por lo que lo podemos considerar como un lenguaje roductos o sus ambientes. Por lo que lo podemos considerar como un lenguaje roductos o sus ambientes. Por lo que lo podemos considerar como un lenguaje
p p
diseñado para resolver problemas reales.iseñado para resolver problemas reales.
d
Sintaxis
Ahora, para introducirnos en su sintaxis vamos a hacer un programa sencillo, hora, para introducirnos en su sintaxis vamos a hacer un programa sencillo, hora, para introducirnos en su sintaxis vamos a hacer un programa sencillo,
A A
nuestro objetivo será obtener el euestro objetivo será obtener el estudiante con mayor calificación de un listado. Los studiante con mayor calificación de un listado. Los
n
datos que manejaremos de los estudiantes serán dos: “atos que manejaremos de los estudiantes serán dos: “nombre” y “y “puntaje”.
d
El resultado lo podemos ver en la figura 3.l resultado lo podemos ver en la figura 3.
E
Figura 3. Programa en Kotlinigura 3. Programa en Kotlin para obtener el estudiante con mayor puntaje de un listadopara obtener el estudiante con mayor puntaje de un listado
F
L
La salida de este programa es la siguiente:a salida de este programa es la siguiente:
El mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)l mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)l mayor puntaje en Kotlin es de: EstudianteKotlin (nombre=Marco, puntaje=12)
E E
A
Ahora describiremos lo que sucede línea por línea:hora describiremos lo que sucede línea por línea:
L1: Tenemos la declaración del paquete, y aunque parece similar a Java podemos ración del paquete, y aunque parece similar a Java podemos ración del paquete, y aunque parece similar a Java podemos
observar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.bservar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.bservar que no hay “;” al final, esto es porque en Kotlin el uso de “;” es opcional.
o o
L3-L4: En este bloque tenemos la declaración de una En este bloque tenemos la declaración de una data classdata class , esta es un tipo de
8
clase que podemos usar parlase que podemos usar para almacenar datos. La podemos comparar con un Java a almacenar datos. La podemos comparar con un Java
c
10
Bean o un DTO donde el compilador genera por nosotros el constructor primario, donde el compilador genera por nosotros el constructor primario, donde el compilador genera por nosotros el constructor primario,
9
métodos hashCode, equalsequals, toString, copy, entre otros.
O O
Otro aspecto importante que vemos es la declaración de propiedades cotro aspecto importante que vemos es la declaración de propiedades cotro aspecto importante que vemos es la declaración de propiedades con la palabra
reservada “val”, con ella declaramos variables de solo lectura, que pueden ser ”, con ella declaramos variables de solo lectura, que pueden ser ”, con ella declaramos variables de solo lectura, que pueden ser
i i
inicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la nicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la nicializadas una sola vez, un efecto similar a lo que se lograría con el uso de la
palabra reservada “final” en java, haciéndolas inmutables.” en java, haciéndolas inmutables.
8
h
https://kotlinlang.org/docs/reference/datattps://kotlinlang.org/docs/reference/data-classes.html
9
h
http://download.oracle.com/otndocs/jcp/7224ttp://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/
10
h
https://martinfowler.com/eaaCatalog/dataTransferObject.htmlttps://martinfowler.com/eaaCatalog/dataTransferObject.html
41