Si, justo como lo has leído en el título. Julia es un lenguaje de programación relativamente joven que ha ganado popularidad entre los analistas de datos o los entusiastas de la inteligencia artificial en los últimos años. En este blog te explicaremos que es, como funciona y algunas de sus características más importantes como lenguaje de programación.
La computación científica, matemática o las ramas más avanzadas de la inteligencia artifical como lo es “Machine Learning” usualmente requieren de algoritmos o lenguajes que entreguen su máximo rendimiento para obtener resultados más precisos.
Sin embargo muchos expertos en el área prefieren utilizar lenguajes como Python o R y claro, es normal, al ser lenguajes tan dinámicos poseen una flexibilidad mucho más alta comparada a los lenguajes estáticos como C o C++.
Para mitigar este problema nace el lenguaje de programación Julia, un lenguaje dinámico, flexible y diseñado para la computación numérica sin sacrificar el rendimiento que podría otorgarnos un lenguaje estático.
¿Por qué Julia?
Julia fué diseñado desde el principio como un lenguaje de alto rendimiento, nuestros lectores más informados acerca de la ciencia de computación lo entenderán al instante.
Los programas de Julia se compilan en tiempo real a código nativo de forma eficiente por medio de LLVM. Una vez entendamos como funciona Julia podremos crear código que sea muy fácil de leer y tan rápido como C.
Además de esto Julia sobresale con una sintaxis excelente para matemáticas y estadística, pues posee un amplio soporte para diferentes tipos de datos, paralelismo por defecto y abstracciones sin costo que permiten que incluso las personas que se encuentran en vías de aprendizaje en la programación puedan utilizarlo sin problema.
Aunque, después de todo esto hay que mencionar que, la ventaja más grande que posee Julia como lenguaje de programación es la increíble estabilidad que su API posee, pues la “retrocompatibilidad” o el “código legacy” es menor o inexistente.
Por ello todo lo que escribas para Julia en su versión 1.0 también funcionará para su versión 1.1, 1.2, etc.
Además de incluir un poderoso gestor de paquetes de alto rendimiento que resuelve dependencias con una velocidad excepcional además de poder realizar instalaciones de dependencias en ambientes separados o por proyecto.
Si deseas conocer un poco más de transfondo sobre la historia de Julia puedes visitar el siguiente enlace.
Probando Julia
Si ya conoces o ya sabes programar en lenguajes como C, R o incluso Python no te preocupes, aprender julia será juego de niños, pues Julia es un “Todo en uno” en los lenguajes de programación, si pudiésemos escribir una comparativa del mismo podríamos decir que Julia es:
Velocidad de C, Sintaxis de Python, Dinamismo de Ruby, Matemáticas de Matlab y estadística superior a R
Pasemos a hacer algunos programas interesantes utilizando Julia. Si deseas instalarlo en tu computadores puedes hacerlo desde aquí o si deseas probarlo en tu navegador puedes visitar el siguiente enlace.
Para ingresar a Julia solo basta abrir una terminal (si estamos en Linux o en MacOS) o un símbolo del sistema en Windows y escribir julia dentro del mismo.
No te preocupes si estás utilizando el navegador, solo salta este paso, pues el enlace ya te proveerá de una consola interactiva de Julia, si instalamos Julia correctamente en nuestra computadora nos debería aparecer la siguiente pantalla:


Este es el modo interactivo de Julia o REPL para aquellos más acostumbrados a los técnicismos. Dentro del mismo podemos ejecutar código de Julia línea por línea o de forma similar a Python con scripts para ahorrarnos este paso.
Solo para ejemplificar podemos escribir el clásico programa “Hola Mundo” que se utiliza cuando alguien toca por primera vez un lenguaje de programación.
Es muy sencillo, solo tenemos que escribir println(“Hola Mundo”) y presionar la tecla enter para que la magia pase frente a nuestros ojos:


Pero el objetivo de este blog no es mostrar programas “Hola mundo”. Queremos mostrar el verdadero potencial de Julia, por lo que traemos pequeños códigos ejemplificando las cosas que Julia puede hacer y, tenemos que admitirlo, la cantidad de código es sorprendentemente pequeña.
El código puedes copiarlo y pegarlo en la consola interactiva de Julia, guardar un archivo.jl
y ejecutarlo con la orden julia <archivo.jl>
o pegarlo en la consola web para probar su funcionamiento, si te produce curiosidad como funciona o como comenzar a programar en Julia te sugerimos visitar la documentación del lenguaje.
Fractal de Mandelbrot
Para crear un fractal de mandelbrot será necesario el siguiente código:
function mandelbrot(a)
z = 0
for i=1:50
z = z^2 + a
end
return z
end
for y=1.0:-0.05:-1.0
for x=-2.0:0.0315:0.5
abs(mandelbrot(complex(x, y))) < 2 ? print("*") : print(" ")
end
println()
end
Dentro de la consola el código debería verse así:


Y el resultado del código se verá así:


¿Que opinas de Julia? ¿Piensas que es un lenguaje que valga la pena aprender? Si deseas conocer más información sobre Julia debajo te dejaremos algunos enlaces para que puedas indagar un poco más en uno de los lenguajes de programación mas fáciles y divertidos del 2020.
Enlaces extra
- Sitio oficial de Julia – https://julialang.org/
- Documentación Oficial de Julia – https://docs.julialang.org/en/v1/
- Recursos Oficiales para aprender Julia – https://julialang.org/learning/
- Papers y Documentos de Investigación que utilizan Julia – https://julialang.org/research/
- Código Fuente de Julia – https://github.com/JuliaLang/julia
- Youtube Oficial de Julia – https://www.youtube.com/user/JuliaLanguage
- Foros de Julia – https://discourse.julialang.org/