![]() |
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.
- Generación de casting automático.
- Organización de paquetes:
- Valores nulos.
- 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.
0 Comentarios
¿Te gustarÃa sugerir algunos temas en especÃfico del cual te gustaria saber?