Los lenguajes de programación son numerosos. Los hay de propósito general, para propósitos determinados, para programación de dispositivos móviles, funcionales, lógicos, orientados a objetos, etcétera. Se compilan y se interpretan y en la medida en la que se usan se vuelven populares por un tiempo o bien, rompen una barrera en ese sentido y se instalan en la comunidad de desarrolladores como lenguajes clásicos. Aún así, estos lenguajes siguen evolucionado. Un ejemplo es Basic, que de ser un primer lenguaje, con la intención de que los principiantes empezaran a entender de estos temas, de pronto pasa a convertirse en algo que llaman Visual Basic, con muchísimo más poder, que corre bajo la interfaz de Windows y que hereda muchas cosas del Basic original, buscando así hacer que la curva de aprendizaje del que lo usa sea menor.
Otro ejemplo lo es Pascal, en específico Turbo Pascal, que con la llegada y aceptación de Windows se convirtió eventualmente en Delphi y éste a su vez, aunque conserva la esencia de Pascal, le ha añadido orientación a objetos y un sinfín de mejoras que, comparado con el Turbo Pascal original, es en términos reales un súper conjunto del lenguaje inventado por Niklaus Wirth.
Ahora la empresa Jetbrains libera Kotlin 1.0, que se define como un lenguaje de programación de propósito general para la máquina virtual de Java (JVM) y Android. Jetbrains es una empresa que hace productos orientados a Java, por ejemplo, el Java IDE IntelliJ, entre otros desarrollos. De acuerdo al artículo en su blog, Kotlin se diseñó con la idea de “ser un lenguaje de programación pragmático para JVM y Android, que combina la orientación de objetos y características de los lenguajes funcionales. Su enfoque es la interoperabilidad, la seguridad, la claridad y el soporte de las herramientas”.
De estos factores la interoperabilidad, que es que el lenguaje pueda operar con código ya escrito anteriormente, es probablemente lo más importante. Andrey Breslav, líder del diseño del lenguaje dice: “Kotlin podría haber sido mucho más fácil de diseñar y desarrollar sino fuera por la interoperabilidad con Java, la integración de Maven y la compatibilidad con Android. Y podría haber sido, definitivamente, más elegante en muchos sentidos, pero la elegancia, aunque es muy apreciada, no es nuestra meta principal. Lo que nos interesa es que sea útil. Y en la medida que nuestros usuarios tengan menos que re-aprender, re-inventar, re-hacer desde cero, y puedan re-usar, pues mucho mejor”.
Kotlin puede ser usado para programación de servidores, apps de escritorio y de Android. Viene con su propia biblioteca estándar y puede interactuar con todas las bibliotecas de Java. Así pues, este enfoque pragmático significa que los desarrolladores pueden evitar inventar otro manejador de paquetes y entonces construir el sistema. Por el contrario, por ejempo Maven y Gradler ya existen junto con un número masivo de plugins. Además, se soporta el bytecode de Java 6 para aquellos que siguen usando esa versión.
Aparentemente Kotlin ha estado en producción por algunos años y ha sido usado por la propia empresa Jetbrains para escribir sus propios productos, incluyendo el IntelliJ IDEA, Jetbrains Rider y Jetbrains Account & E-shop, entre otros paquetes. El haberse tardado tanto en sacar este lenguaje -dicen los programadores de Jetbrains- es porque “queríamos validar nuestras decisiones de diseño en la práctica”.
Kotlin es de código abierto bajo la licencia 2.0 de Apache y ya tiene más de 100 colaboradores a la fecha. Jetbrains dice que tiene a 20 personas trabajando de tiempo completo en el lenguaje y se han comprometido en ello para que éste funcione por mucho tiempo. Hay de hecho un mini-IDE en línea para probar un conjunto de problemas ejemplos, que ilustran lo básico del lenguaje.
Referencias:
JetBrains Blog – Kotlin 1.0 Released
Kotlin (sitio oficial)
Para probar Kotlin
i-programmer