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
   36   37   38   39   40   41   42   43   44   45   46