Julia, caminar como Python, correr como C

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:

Una terminal ejecutando la consola interactiva de Julia.
Modo interactivo de Julia

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:

Un programa llamado "Hola mundo" escrito en la consola de Julia.
Hola mundo en Julia

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í:

Código en Julia, escrito dentro de la terminal que nos ofrece el lenguaje de programación.
Código del fractal de Mandelbrot en la consola de Julia

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

Una figura conocida como "Fractal de Mandelbrot" creada con asteriscos en la pantalla de la consola.
Fractal de Mandelbrot creado con asteriscos

¿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

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: