Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Se libera el lenguaje de programación Julia 1.0

Finalmente se ha llegado ya a la versión Julia 1.0, después de 10 años de trabajo. Este sistema se ha diseñado para ser rápido, dinámico, utilizable para programar pero orientado a los especialistas en estadísticas. Además es de código abierto.

Julia se define como un lenguaje dinámico de programación diseñado en particular para ciertas áreas técnicas. Los desarrolladores de este sistema empezaron en el 2009 en el MIT y sus creadores son Alan Edelman, Jeff Bezanson, Stefan Karpinski y Viral B. Shah. Cuando el lenguaje se anunció por primera vez, la lista de lo que los programadores querían hacer era impresionantemente ambicioso:

¿Podría haber manipulación psicológica o emocional por parte de un robot?

Queremos un lenguaje que sea de código abierto y que además tenga una licencia liberal. Queremos la velocidad de C y el dinamismo de Ruby. Queremos un lenguaje homoicónico, con verdaderos macros como Lisp, pero con una notación matemática más obvia como MatLab. Queremos algo usable para programar como lo es Python y que sea tan fácil como hacer estadísticas con R, que pueda procesar de manera natural cadenas de caracteres como en Perl y que sea estupendo en algebra lineal como MatLab. Algo que sea fácil de aprender y que mantenga a los hackers más serios felices. Queremos que sea interactivo y además queremos que se compile”.

La versión 1.0 de Julia finalmente se ha liberado y los desarrolladores de la misma dicen que el buen desempeño que han logrado se debe a que Julia se diseñó desde el principio para el alto desempeño. Los programas de Julia compilan a código nativo de manera eficiente en múltiples plataformas gracias a l esquema desarrollado por LLVM. Julia es un lenguaje con tipos dinámico y un buen soporte para un uso interactivo. La sintaxis se diseñó pensando que fuese útil en matemáticas.

Si se trata de usar Julia como lenguaje de propósito general, se ofrece una biblioteca estándar que provee Entradas/Salida asíncrona, control de procesos, así como un administrador de paquetes, entre otras cosas. Los cambios desde la versión 0.6 empiezan con un nuevo administrador de paquetes que es más rápido que la versión anterior y que soporta entornos de paquetes por proyecto.

La nueva versión también da una nueva representación canónica para los valores perdidos para así hacer que los desarrolladores de Julia puedan representarlos y trabajar con información incompleta. Cualquier tipo de colección genérica soporta estos datos perdidos simplemente permitiendo el incluir elementos con los valores pre-definidos perdidos. También se han incorporado las “tuplas” en esta versión 1.0 de Julia.

Otras mejoras incluyen cambios en el tipo interconstruido de strings, es decir, de cadenas de caracteres para poner datos de manera arbitraria. Los desarrolladores de Julia han dicho que: “tú programa no podrá fallar en horas o días porque se encontró un solo byte de una variable de strings con un valor inválido de Unicode. Todos los datos de las cadenas de caracteres se preservan mientras se indican qué caracteres son válidos o inválidos”.

Habría que probar Julia 1.0 y ver qué tanto de lo que se planteó en su diseño se ha cumplido. Sea como sea, parece ser una buena contribución al desarrollo de los lenguajes de programación.

Comentarios