Julia
Julia es un lenguaje de programación conocido en el
ámbito científico por su vasta librería de funciones matemáticas, a la vez es
un lenguaje de alto nivel y de alta perfomance.
El lenguaje fue creado por Stefan Karpinski,
estudiante graduado de la Universidad de California, que estaba involucrado en
una herramienta simulación de redes que requería el uso de varios lenguajes de
programación diferentes. Curiosamente, ninguno de los lenguajes usados podía
hacer toda la tarea, todo el proceso. Por ello, Karpinski, junto con su compañero
de universidad Viral Shah y Jeff Bezanson del MIT, decidieron resolverlo
diseñando un nuevo lenguaje que fuera compatible con prácticamente cualquier
tarea. La meta de Karpinski y su equipo es construir un lenguaje único que haga
todo bien.
La librería de funciones matemáticas, en gran parte
están escrita en Julia, pero también se integra con librerías maduras, las
mejoras librerías de C y las librerías de Fortran para álgebra lineal, la
generación de números aleatorios, procesamiento de señales y procesamiento de
cadenas.
Características
Entre las características de este lenguaje podemos
nombrar:
Posibilidad de definir el comportamiento de una
función con una combinación de tipos de argumentos y sistema dinámico de tipos:
tipos para documentar, optimizar y ejecutar rutinas
Buen desempeño, el cual se aproxima (estadísticamente)
a lenguajes como C
Macros como en LISP y otras funcionalidades de
metaprogramación
Comunicación con otros lenguajes y plataformas. Se
pueden llamar funciones de Python usando el paquete PyCall y se puede llamadar
a funciones de C directamente. No se necesita nada más
Dado que fue diseñado para computación distribuida y
en paralelo, contiene una poderosas Shell que puede manejar otros procesos
Generación automática de código especializado,
eficiente, de acuerdo al tipo de argumentos
Conversiones elegante y extensibles para tipos
numéricos y otros tipos. Además soporte para Unicode
Licencia MIT : libre y de código abierto
Un compilador Jit Rápido
Una de las características más notables de Julia es la
performance de su compilador JIT, el cual es capaz de superar a lenguajes que
tienen más historia. En la página oficial de Julia podemos ver un benchmark
realizado que compara a Julia con otros lenguajes como Fortran, Python, R,
Matlab, etc. Como podemos ver a continuación Julia queda muy bien parado:
julia speed
IJulia
IJulia, es un entorno gráfico e interactivo que
permite combinar instrucciones Julia con funciones matemáticas, gráficos,
multimedia todo en un solo documento. Ijulia utiliza el poderoso entorno
IPython para su funcionamiento.
ijulia
Conclusión
Julia ha ganado un espacio importante en el mundo
científico con su amplia librería matemática y su velocidad. La pregunta es si
seguirá ganando terreno en otros ámbitos. ¿Ustedes que opinan?
Comentarios
Publicar un comentario