Kotlin (lenguaje de programación)
lenguaje de programación, exclusivo para el desarrollo Android De Wikipedia, la enciclopedia libre
Kotlin es un lenguaje de programación orientado a objetos multiplataforma, estáticamente tipado, de alto nivel y propósito general con inferencia de tipos. Kotlin está diseñado para ser totalmente interoperable con Java, y la versión JVM de la biblioteca estándar de Kotlin depende de la Java Class Library,[2] pero la inferencia de tipos permite que su sintaxis sea más concisa. Kotlin se dirige principalmente a la JVM, pero también compila a JavaScript (por ejemplo, para aplicaciones web front-end que utilizan React) o código nativo a través de LLVM (por ejemplo, para aplicaciones nativas de iOS que comparten lógica de negocio con aplicaciones Android).[3][4] Los costes de desarrollo del lenguaje corren a cargo de JetBrains, mientras que la Fundación Kotlin protege la marca comercial Kotlin.[5]
Kotlin | ||
---|---|---|
![]() | ||
![]() | ||
Desarrollador(es) | ||
JetBrains https://kotlinlang.org/ | ||
Información general | ||
Extensiones comunes | .kt, .kts, .ktm | |
Paradigma | Multiparadigma: orientado a objetos, funcional, imperativo, estructurado en bloques, declarativo, genérico, reflexivo, concurrente | |
Apareció en | 2016 | |
Diseñado por | JetBrains | |
Última versión estable | 2.0.0 (21 de mayo de 2024[1]) | |
Sistema de tipos | estático | |
Influido por | Java, Scala, Groovy, C#, Gosu | |
Sistema operativo | Multiplataforma: Cualquiera que soporte la JVM o tenga un intérprete de Javascript | |
Licencia | Apache 2 | |
El 7 de mayo de 2019, Google anunció que el lenguaje de programación Kotlin es ahora el lenguaje preferido para los desarrolladores de apps Android,[6] y desde el lanzamiento de Android Studio 3.0 en octubre de 2017, Kotlin se ha incluido como alternativa al compilador Java estándar. El compilador Kotlin de Android produce bytecode Java 8 por defecto (que se ejecuta en cualquier JVM posterior), pero permite al programador elegir como objetivo Java 9 a 18 para su optimización,[7] o permite más características; tiene soporte para la interoperabilidad bidireccional de clases de registro para la JVM, introducida en Java 16, considerada estable a partir de Kotlin 1.5.
Kotlin tiene soporte para la web; compilando a JavaScript (es decir, Kotlin/JS con el backend clásico, declarado estable a partir de la versión 1.3), mientras que el más nuevo Kotlin/JS (basado en lenguaje intermedio) está en beta a partir de la versión 1.5.30. Kotlin/Native (por ejemplo, para compatibilidad de Apple Silicon) está en beta desde la versión 1.3.[8][9]
Historia
Resumir
Contexto
En julio de 2011 JetBrains reveló el Proyecto Kotlin, un nuevo lenguaje para la JVM, el cual había estado bajo desarrollo por un año.[10] 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.[10] Uno de los objetivos establecidos de Kotlin es el de compilar tan rápido como Java.[cita requerida]
En febrero de 2012, JetBrains liberó el código fuente del proyecto bajo la Licencia Apache 2.
En 2017, recibe un importante impulso al ser nombrado por Google como lenguaje oficial para Android al mismo nivel que Java.
La primera confirmación en el repositorio Git de Kotlin fue el 8 de noviembre de 2010.[11]
Kotlin 1.1 se lanzó el 1 de marzo de 2017.[12]
Kotlin 1.2 se lanzó el 28 de noviembre de 2017.[13] En esta versión se agregó la función de compartir código entre plataformas JVM y JavaScript (la programación multiplataforma ahora es una función beta [14] actualizada desde "experimental"). Se ha realizado una demostración completa con el nuevo complemento Kotlin/JS Gradle.[15][16]
Kotlin 1.3 se lanzó el 29 de octubre de 2018 y agregó soporte para corrutinas para su uso con programación asincrónica.[17]
El 7 de mayo de 2019, Google anunció que el lenguaje de programación Kotlin es ahora su lenguaje preferido para los desarrolladores de aplicaciones de Android.[18]
Kotlin 1.4 se lanzó en agosto de 2020, con, por ejemplo, algunos cambios leves en el soporte para las plataformas de Apple, es decir, en la interoperabilidad Objective-C / Swift.[19]
Kotlin 1.5 se lanzó en mayo de 2021.
Kotlin 1.6 se lanzó en noviembre de 2021.
Kotlin 1.7 se lanzó en junio de 2022, incluida la versión alfa del nuevo compilador Kotlin K2.[20]
Kotlin 1.8 se lanzó en diciembre de 2022, 1.8.0 se lanzó el 11 de enero de 2023.[21]
Kotlin 1.9 se lanzó en julio de 2023, 1.9.0 se lanzó el 6 de julio de 2023.[22]
Kotlin 2.0 se lanzó en mayo de 2024, la versión 2.0.0 se lanzó el 21 de mayo de 2024.[23]
Kotlin 2.1 se lanzó en noviembre de 2024, 2.1.0 se lanzó el 27 de noviembre de 2024.[24]
Filosofía
El líder de desarrollo Andrey Breslav ha dicho que Kotlin está diseñado para ser un lenguaje de programación orientado a objetos de calidad industrial, y para ser un lenguaje mejor que Java pero todavía ser plenamente interoperable con código Java, permitiendo a las compañías hacer una migración gradual de Java a Kotlin.[25]
Sintaxis
Al igual que Pascal, Haxe, PL/SQL, F#, Rust, Go y Scala —y a diferencia de C y sus derivados como C++, Java, C#, y D— la declaración de variables y listas de parámetros en Kotlin tienen el tipo de dato después del identificador y un separador de dos puntos. Igual que en otros lenguajes modernos como Scala y Groovy, los puntos y comas son opcionales como final de sentencia; en muchos casos un salto de línea es suficiente para que el compilador pueda deducir que la declaración terminó.[26]
Semántica
Resumir
Contexto
Además de clases y métodos (en Kotlin se llaman funciones miembro) clásicos de la programación orientada a objetos, Kotlin también soporta programación por procedimientos y el uso de funciones.[27] Igual que en C y C++, el punto de entrada a un programa Kotlin es una función llamada "main", que recibe un array que contiene los argumentos pasados desde la línea de comandos. Soporta la interpolación de variables dentro de cadenas de texto al estilo de los shell scripts de Perl y Unix/Linux. La inferencia de tipos es otra de las características de Kotlin.
Ejemplo
fun main() {
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 "?" 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:
- ?. (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 decirHola(talVez : String?, jamasNulo : Int) {
// Uso del operador Elvis
val nombre : String = talVez ?: "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()
Herramientas
- IntelliJ IDEA tiene un plugin de soporte para Kotlin.[28] IntelliJ IDEA 15 es la primera versión que incluye el plugin Kotlin en el Instalador IntelliJ y proporcionar soporte desde el comienzo.[29]
- JetBrains también tiene un plugin para Eclipse.[30]
- Plugin Apache Maven.[31]
- Tarea para Apache Ant.[31]
- Plugin Gradle.[31]
- Android Studio soporta Kotlin desde la versión 3.0.
- NetBeans también incluye un plugin para Kotlin.
Aplicaciones
Resumir
Contexto
Cuando se anunció Kotlin como lenguaje de desarrollo oficial para Android en Google I/O en mayo de 2017, se convirtió en el tercer lenguaje totalmente compatible con Android, después de Java y C++.[32] En 2020 Kotlin fue el lenguaje más utilizado en Android: Google estimó que el 70 % de las 1000 aplicaciones principales en Play Store estaban escritas en Kotlin. El propio Google tenía 60 aplicaciones escritas en Kotlin, incluidas Maps y Drive. Muchas aplicaciones de Android, como Google Home, están en proceso de migración a Kotlin y, por lo tanto, utilizan tanto Kotlin como Java. Kotlin en Android se considera beneficioso por su seguridad de puntero nulo, así como por sus características que hacen que el código sea más corto y legible.[33]
Además de su uso destacado en Android, Kotlin estaba ganando terreno en el desarrollo del lado del servidor. Spring Framework agregó oficialmente soporte para Kotlin con la versión 5, el 4 de enero de 2017.[34] Para brindar mayor soporte a Kotlin, Spring ha traducido toda su documentación a Kotlin y ha agregado soporte integrado para muchas características específicas de Kotlin, como corrutinas.[35] Además de Spring, JetBrains ha producido un marco basado en Kotlin llamado Ktor para crear aplicaciones web.[36]
En 2020, JetBrains descubrió en una encuesta a desarrolladores que usan Kotlin que el 56 % lo usaba para aplicaciones móviles, mientras que el 47 % lo usaba para un back-end web. Un poco más de un tercio de todos los desarrolladores de Kotlin dijeron que estaban migrando a Kotlin desde otro lenguaje. La mayoría de los usuarios de Kotlin apuntaban a Android (o a otro lugar en la JVM), y solo el 6 % usaba Kotlin Native.[37]
Adopción
Resumir
Contexto
En 2018, Kotlin fue el lenguaje de más rápido crecimiento en GitHub, con 2,6 veces más desarrolladores en comparación con 2017.[38] Es el cuarto lenguaje de programación más querido según la Encuesta de desarrolladores de Stack Overflow de 2020.[39]
Kotlin también fue galardonado con el premio O'Reilly Open Source Software Conference Breakout Award de 2019.[40]
Muchas empresas/organizaciones han utilizado Kotlin para el desarrollo backend:
- Allegro[41]
- Amazon[42]
- Atlassian[43]
- Cash App[44][45]
- Flux[46]
- Google[47]
- Gradle[48]
- JetBrains[49]
- Meshcloud[50]
- Norwegian Tax Administration[51]
- OLX[52]
- Pivotal[53]
- Rocket Travel[54]
- Shazam[55]
- Zalando[56]
Algunas empresas/organizaciones han utilizado Kotlin para el desarrollo web:
Varias empresas han declarado públicamente que utilizan Kotlin:
- Basecamp [61]
- Corda, un libro de contabilidad distribuido desarrollado por un consorcio de bancos conocidos (como Goldman Sachs, Wells Fargo, JP Morgan, Deutsche Bank, UBS, HSBC, BNP Paribas y Société Générale), tiene más del 90% de código Kotlin en su base de código.
- Coursera [62]
- DripStat [63]
- Duolingo [64]
- Netflix [65]
- Pinterest [66]
- Trello [67]
- Uber [68]
Véase también
Referencias
Enlaces externos
Wikiwand - on
Seamless Wikipedia browsing. On steroids.