Kotlin es un lenguaje de programación de tipado estático 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.2
Kotlin fue nombrado lenguaje del mes por la revista Dr. Dobb' Journal en su edición de enero de 2016.3 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). Kotlin ha sido conocido por ser utilizado en la creación de aplicaciones de Android.
Kotlin es un lenguaje de programación orientado principalmente a objetos de calidad industrial y que se desarrolló por la empresa checa Jetbrains a partir de 2010.
El origen de su nombre
Toma el nombre de una isla rusa, situada a treinta kilómetros al oeste de San Petersburgo, donde Jetbrains también tiene oficinas, siendo Andrey Breslav el líder de este tipo de lenguaje informático.
Desarrollo de aplicaciones
Este lenguaje formal tiene un tipado estático y puede ser utilizado en servidores, en sitios web y en el sistema operativo de Apple (iOS), siendo uno de los oficiales para desarrollar aplicaciones Android, como lo reconoció Google en el año 2017.
Kotlin se ejecuta en la Máquina Virtual de Java (JMV) y es interoperable con Javascript y frente a otros lenguajes de programación reduce la repetición de código, lo que a su vez ahorra recursos y tiempo, facilitando la localización de errores en caso de que se produzcan.
Además de la reducción de líneas de código, que se estima aproximadamente en un 40 % con respecto a otros lenguajes, Kotlin gestiona los nulos de forma segura, de tal forma que no se van a producir los Null Pointer Exception (NPE), aunque si se necesita esta característica de nulabilidad, bastará con añadir “?” tras el nombre del tipo.
Fundamentalmente tiene construcciones orientadas a objetos también permite construcciones de funciones simples y más complejas y puede mezclar elementos de ambos estilos
Aplicaciones muy conocidas como Pinterest se desarrollan ya total o parcialmente con este lenguaje de programación, pero también otras usadas por entidades bancarias o relacionadas con la geolocalización, o con la teleformación como Coursera, por citar algunos ejemplos.