Trending

10/recent/ticker-posts

Kotlin



Publicado por: Aldo Vásquez


En la actualidad (2018) el mundo de la programación avanza a pasos agigantados y los desarrolladores se preocupan por crear mas lenguajes que nos faciliten la creación de código a la hora de ponernos a programar, este es el caso de este potente lenguaje al que bautizaron como "Kotlin" el cual llegó para quedarse, y no solo para eso, sino para sustituir a otro grande, a Java, cada día miles de compañías se migran a Kotlin. hasta dónde llegará?



¿Qué es? y ¿Cómo nació Kotlin?

Kotlin es un lenguaje de programación de tipado estático (La comprobación de la tipificación se realiza durante la compilación y no durante la ejecución) que corre sobre la máquina virtual de Java y que también puede ser compilado a código fuente de JavaScript. Es desarrollado principalmente por JetBrains en sus oficinas de San Petersburgo (Rusia). El nombre proviene de la isla de Kotlin, situada cerca de San Petersburgo.​ Kotlin fue nombrado lenguaje del mes por la revista Dr. Dobb' Journal en su edición de enero de 2012. ​ Aunque no tiene una sintaxis compatible con Java, Kotlin está diseñado para interoperar con código Java y es dependiente del código Java de su biblioteca de clases, tal como pueda ser el entorno de colecciones de Java (Java collections framework).

En julio de 2011 JetBrains reveló el Proyecto Kotlin, un nuevo lenguaje para la Máquina Virtual de Java (JVM), el cual había estado bajo desarrollo por un año. El líder de JetBrains, Dmitry Jemerov, dijo que la mayoría de lenguajes no tienen las características que buscaban, con la excepción de Scala. Sin embargo, citó el lento tiempo de compilación de Scala como una deficiencia obvia.​ Uno de los objetivos establecidos de Kotlin es el de compilar tan deprisa como Java. En febrero de 2012, JetBrains liberó el código fuente del proyecto bajo la Licencia Apache 2. ​ Jetbrains espera que el nuevo lenguaje impulsará las ventas de IntelliJ IDEA.

Kotlin está diseñado para ser un lenguaje Orientado a Objetos de alta calidad en el ámbito industrial, tal y como lo menciono su Manager de desarrollo Andrey Breslav y se espera que gradualmente las empresas irán migrando poco a poco de Java o cualquier otro lenguaje de programación a Kotlin, el cual también está diseñado para ser interoperable con código Java, partiendo del punto que se espera a que este sea un lenguaje superior al mismo Java


Sintaxis
Su sintaxis resulta ser un poco más amigable, pues la declaración de variables al igual que sus listas de parámetros se efectúa primero; escribiendo el tipo de dato que utilizaremos y después su respectivo identificador incluyendo dos puntos (:) una vez declarado, extrayendo estas formas de declarar variables de otros lenguajes de alto nivel como lo son: Scala o Groovy llegando a este punto no será necesario un punto y coma (;), pues este es opcional al igual que en Python. La ejecución termina cuando el compilador identifica que existe un salto de línea


Semántica
Entre las tantas características de Kotlin se encuentran tres que son fundamentales e importantes en los lenguajes Orientados a Objetos, una de estas características es la programación procedimental, la utilización de funciones y la inferencia de tipos (Se asigna de forma automática un tipo de dato a una función, es decir, el programador no necesita escribirla). En lo que respecta al punto de entrada, este no varía al igual de C y C++ su punto de entrada es main a diferencia de los demás este recibe un array con argumentos, los cuales son concebidos mediante la línea de comandos. También extrae otra característica importante, siendo esta la interpretación de variables dentro de cadenas de texto como si fuesen script al igual como lo hacemos en Linux

Ejemplo Hola, mundo escrito en Kotlin

fun main(args : Array<String>) {
val scope = "mundo"
println("Hola, $scope!")
}


Kotlin hace una distinción entre tipos nullables y no-nullables (aquellos que pueden o no tener un valor nulo). Todos los objetos nullables tienen que ser declarados con un signo de interrogación (?) sufijo después del nombre de tipo. Las operaciones con objetos nullables necesitan cuidado especial de los desarrolladores: una verificación de valor null debe ser realizado antes de utilizar el valor. Kotlin proporciona operadores seguros de nulidad para ayudar a los desarrolladores.
Veamos a continuación:

  • (Operador de navegación segura) puede ser usado para acceder de forma seguras a un método o propiedad de un posible objeto nulo. Si el objeto es nulo, el método no se invocará y la expresión evalúa a null.
  • (operador de coalescencia nula) a menudo referido a como el operador Elvis


fun Hola(hello : String?, noNullo: Int

{ // uso del operador Elvis
     val nombre : String = hello?: "extraño"
      println("Hola, $nombre") 
}

Un ejemplo del uso del operador de navegación segura:


/* devuelve null si foo es null, o bar() devuelve null, o baz() devuelve null */
 foo ?. bar() ?. baz()


Ventajas de utilizar Kotlin

Veamos algunas de las características que hacen a Kotlin diferente de Java y que nos permiten programar escribiendo menos código. facilitándonos la vida de cierta forma a la hora de programar

  • Olvidate de los getters y setters.
Para cada atributo normalmente quieres tener el correspondiente get y set, incluir la propiedad en el método equals. Muchos IDEs los generan automáticamente pero al final, aunque sea código generado lo vas a tener que mantener (ej. cuando añadas un nuevo atributo). Kotlin lo proporciona automáticamente. Es decir, no los ves, el código no está, pero los puedes utilizar (Kotlin los va a añadir durante la compilación a bytecode).

  • Generación de casting automático.
 Una vez compruebas si un objeto es de un cierto tipo, no necesitas después hacer un casting explícito para usar las propiedades de ese tipo. Kotlin asume que si la comprobación tiene éxito el objeto pasa a ser del tipo concreto immediatamente y lo trata como tal.

  • Organización de paquetes:
ya no hace falta que la organización de tu código en paquetes siga la estructura de carpetas en tu directorio

  • Valores nulos.
Kotlin no tiene el concepto de null. Lo que implica que nunca tendrás una excepción del tipo NullPointerException. Está demostrado que evitar nulos ahorra mucho tiempo (y dinero) en el desarrollo y que hay maneras más seguras de indicar la ausencia de valor.

  • Funciones: 
En Kotlin, las funciones están al mismo nivel que las clases. Puedes definir funciones sin tener que crear primero una clase para ellas. Además las funciones pueden recibir como argumento otra función (o devolver una como resultado) permitiendo un alto nivel de programación funcional. También hay soporte para lambdas / funciones anónimas.
  • Extensiones a clases existentes:
Kotlin permite añadir nuevos métodos a una clase existente SIN tener que crear la subclase correspondiente. Esto permite que el nuevo método se pueda ejecutar sobre todas las instancias de la clase original y no sólo sobre las de la subclase que, en Java, estaría obligado a crear. De la misma forma, Kotlin también te permite añadir nuevas propiedades.

Publicar un comentario

0 Comentarios

This XML file does not appear to have any style information associated with it. The document tree is shown below.