Un grupo de programadores internacional está desarrollando un lenguaje de programación que comprendería las mejores características de los lenguajes existentes más populares y utilizados.
Llamado Julia, ese lenguaje podría ofrecernos una visión anticipada de cómo se realizará la programación en el futuro.
El lenguaje fue ideado por Stefan Karpinski, un graduado de la Universidad de California, cuando estaba diseñando una herramienta de simulación de redes que requería el uso de cuatro lenguajes de programación diferentes.
Además de que ninguno de los lenguajes era suficiente para realizar la tarea, usar cuatro lenguajes complicaba todo el proceso, desde escribir el código hasta depurarlo y actualizarlo.
Se pueden lanzar 100 procesos en Julia, ejecutarlos en diferentes máquinas y obtener los resultados de esas máquinas. Eso es un trabajo tedioso en Java, pero para Julia es relativamente sencilloEste es un problema común para los programadores, así como para los matemáticos, los investigadores y los informáticos.
Karpinski, junto con su compañero de universidad Viral Shah y el informático del MIT Jeff Bezanson, decidieron resolverlo diseñando un nuevo lenguaje que fuera compatible con prácticamente cualquier tarea.
Los lenguajes de hoy fueron diseñados con diferentes objetivos. Matlab fue elaborado para los cálculos de la matriz, y es muy bueno para el álgebra lineal. El lenguaje R es para la estadística. Ruby y Python son lenguajes de propósito general, preferidos por los desarrolladores web, ya que permiten una codificación más rápida y fácil. Pero no son tan rápidos como C o Java.
Lo que intentan hacer Karpinski y su equipo es construir un lenguaje único que haga todo bien.
Los programadores suelen utilizar herramientas que traducen lenguajes más lentos como Ruby y Python a los idiomas más rápidos como Java o C. Pero ese código más rápido también debe ser traducido -o compilado, en la jerga de los programadores– a un código comprensible para la máquina. Eso añade más complejidad y margen de error.
La peculiaridad de Julia consiste en que prescinde de esta etapa intermedia, compilando directamente al código de la máquina.
Además, los programadores sostienen que Julia tiene habilidades matemáticas y estadísticas para servir de alternativa a Hadoop -un sistema de computación ampliamente utilizado elaborado por Yahoo y Facebook-, por lo menos en algunos casos.
Hadoop permite tomar una gran cantidad de trabajo, dividirla en muchos trabajos pequeños, y repartirlos entre cientos de máquinas.
"Se puede lanzar 100 procesos en Julia, ejecutarlos en diferentes máquinas y sacar los resultados de esas máquinas. Ese tipo de cosas tiende a ser un trabajo tedioso en Java, pero para Julia es relativamente sencillo", precisó Karpinski, citado por el portal Wired.
La primera versión de Julia, de código abierto, apareció en 2012. Desde entonces el lenguaje sigue evolucionando.