Los desarrolladores de lenguajes de programación emergentes destacan la necesidad de crear nuevas herramientas.
Con cientos de lenguajes de programación ya existentes, ¿por qué resulta necesario invertir un esfuerzo considerable en crear uno nuevo? Para los creadores de tres nuevos lenguajes de código abierto -Coconut, Crystal y Oden- la respuesta es simplemente que, en programación, siempre hay nuevos nichos que ocupar y nuevas necesidades que atender.
Poco dispuestos a conformarse con las herramientas existentes, a las que consideran un poco deficientes, estos desarrolladores se han dedicado a construir sus propios lenguajes, impulsados por objetivos específicos. Coconut, variante de Python, ofrece programación funcional al lenguaje de Python; Crystal se dedica a combinar múltiples capacidades de programación; y el motor que hay detrás del desarrollo de Oden está rellenando algunas capacidades ausentes en el popular lenguaje Go de Google.
Coconut: expandiendo el alcance de Python
“Me encanta la programación funcional. Creo que el paradigma funcional proporciona una forma mucho más natural de pensar en los problemas y rendimientos más elegantes, concisos y de código legible como resultado”, afirma el desarrollador de Coconut, Evan Hubinger. “Y, sin embargo, si nos fijamos en los 20 lenguajes de programación más populares, ni uno solo es funcional, aunque hay alternativas funcionales a muchos de ellos. Java tiene Scala. C# tiene F#. Python tiene… nada”, continua.
Python, dice Hubinger, fue su primer lenguaje. Este es distinguido para la programación imperativa pero, tal y como afirma, tratar de utilizarlo para la programación funcional es difícil y obtuso.
Crystal: unión de las características de los lenguajes existentes
El principal desarrollador de Crystal, Ary Borenszweig, no solo reconoce la riqueza de los lenguajes existentes, sino que ha fortalecido sus mejores características.
“Sí, hay muchos lenguajes. Sin embargo, Crystal mezcla algunas características presentes en otros lenguajes de una forma en la que no lo hace ningún otro idioma”, asegura Borenszweig.
El lenguaje tiene una comprobación de tipos estática sin especificar los tipos de argumentos o las variables locales. Esto permite crear prototipos más rápidos y más códigos genéricos, subraya Borenszweig.
Crystal también ofrece una gestión de memoria automática y tiene macros para evitar el código repetitivo.
Oden: alineación del éxito de Go
Oden fue desarrollado por un fan de Go que tenía problemas con este prometedor lenguaje de programación.
Para Oskar Wickström, este lenguaje tiene algunas características problemáticas, como la dificultad en la abstracción del flujo de control, el tratamiento de errores y la nula comprobación.
“La idea con Oden es levantar estas restricciones y proporcionar un sistema de tipos más flexible, a la vez que se pone énfasis en la programación funcional”, afirma Wickström. “Otro de los objetivos principales es proveer una fácil interoperabilidad con Go, permitiendo a los usuarios utilizar las bibliotecas estándar de Go sin tener que escribir bindings”, concluye.
Vía ComputerWorld