El verano de 2018 se anunció el lanzamiento, después de casi una década de trabajo, del lenguaje de programación Julia. La versión 1.0 se puso a disposición de todo el mundo a través de una licencia de código abierto. Pero, ¿qué es Julia?

Se trata de un lenguaje de programación tremendamente ambicioso desarrollado por Jeff Bezanson, Stefan Karpinski, Viral Shah, y Alan Edelman. Cansados de tener que cambiar entre Matlab, Lisp, Python, Ruby, Perl, Mathematica, R y C, decidieron desarrollar un lenguaje de programación específico para cálculo científico, aprendizaje automático, minería de datos, álgebra lineal, computación paralela y computación distribuida.

¿Quieres saber más sobre el lenguaje de programación Julia? Quédate con nosotros, porque te vamos a descubrir todas las claves de uno de los lenguajes más empleados en machine learning. ¡Toma nota!

¿Qué es el lenguaje de programación Julia?

El lenguaje de programación Julia ha sido diseñado para disponer de las ventajas de un lenguaje dinámico con el rendimiento de un lenguaje compilado. Esto se consigue en parte gracias a la utilización de un compilador JIT (just-in-time) basado en LLVM (Low Level Virtual Machine) que permite generar código de máquina completamente nativo.

El lenguaje de programación Julia es muy atractivo para los científicos de datos, estadísticos y analistas financieros, ya que es fácil de aprender y ofrece un gran rendimiento. Su mayor problema, ahora mismo, es que se trata de un lenguaje joven, solo tiene dos años de antigüedad y no ofrece la cantidad de librerías y recursos que, por ejemplo, ofrecen R, Python o Matlab.

En 2015 los diseñadores del Julia fundaron la compañía Julia Computing que mantienen actualmente los repositorios de código abierto. Además desarrollan productos comerciales que facilitan la utilización de Julia y su implementación.

Julia dispone, como te hemos dicho, de un compilador avanzado, mecanismos para la ejecución en paralelo y distribuida y, además, cuenta con una interesante biblioteca de funciones matemáticas.

Aun siendo un lenguaje joven, la comunidad ha ido creciendo y, cada vez contribuye más con la creación y distribución de paquetes externos a través del gestor integrado en Julia. De este modo, Julia se ha convertido en la colaboración entre las comunidades de Python y la propia que se ha ido creando a su alrededor.

Características de Julia

  • Permite definir el comportamiento de las funciones a través de diversas combinaciones de tipos de argumentos.
  • Sistema de tipado dinámico.
  • Buen desempeño, acercándose al de lenguajes estáticamente compilados como C.
  • Gestor de paquetes integrado.
  • Macros tipo Lisp y otras herramientas para la meta-programación.
  • Llamada a funciones de Python mediante el paquete PyCall.
  • Llamada funciones de C directamente, sin necesidad de usar APIs especiales.
  • Poderosas características de línea de comandos para gestionar otros procesos.
  • Diseñado para la computación paralela y distribuida.
  • Los tipos definidos por el usuario son tan rápidos y compactos como los tipos estándar integrados.
  • Generación automática de código eficiente y especializado para diferentes tipos de argumentos.
  • Conversiones y promociones para tipos numéricos y de otros tipos, elegantes y extensibles.
  • Soporte eficiente para Unicode, incluyendo UTF-8 pero sin limitarse solo a este.
  • Licencia libre y de código abierto.

Aplicación de Julia en Machine Learning

En lo que se refiere a sus aplicaciones dentro del campo del Machine Learning, el lenguaje de programación Julia se ha vuelto tremendamente popular gracias a sus paquetes de machine learning de alta velocidad y a una sitanxis altamente expresiva y útil para el desarrollo del aprendizaje automático.

Julia es un trabajo sacado directamente del MIT, un lenguaje de alto nivel que tiene una sintaxis tan amigable como Python y un rendimiento tan competitivo como C

De cara al análisis de datos, el lenguaje de programación Julia es perfectamente funcional, aun teniendo en cuenta que se trata de un lenguaje de programación prácticamente nuevo. No obstante, al contar con una comunidad muy activa y que se fusiona con las comunidades de otros cíodigos, hace que cada vez tenga más bibliotecas y recursos que facilitan su implementación.

Este lenguaje de programación dinámico y de alto nivel está diseñado para abordar las necesidades del análisis numérico de alto rendimiento y la ciencia computacional. La biblioteca base escrita en Julia contiene:

  • Las mejores bibliotecas open source C y Fortran para el álgebra lineal.
  • La generación de números aleatorios.
  • El procesamiento de señales.
  • El procesamiento de cadenas.

Además de todo esto, gracias a la colaboración entre las comunidades, Julia tiene una poderosa interfaz gráfica de navegación basada en el navegador para Julia.

Framework para IA y machine learning

El lenguaje de programación Julia viene con Flux, un framework o librería (depende de autores, para unos es framework y para otros, librería) para Machine Learning e Inteligencia Artificial.

Esta herramienta proporciona una interfaz que resulta altamente intuitiva y, a pesar de ello, se trata de uno de los frameworks más felxibles que existen., ya que se puede integrar fácilmente con otras librerías o incluso trabajar con él en varios kernels a la vez.

Conviértete en experto en Machine Learning

El lenguaje de programación Julia es interesante no solo para los científicos de datos, sino que para cualquier interesado en el campo de la estadística o del machine learning. El éxito o fracaso de Julia se encuentra ahora en manos de los usuarios que pueden adoptar o no este interesante proyecto.

Sea como sea, de momento, todo parece indicar que se trata de un lenguaje con mucho potencial para asentarse y triunfar. Por ese motivo, es fundamental que seas capaz de dominarlo si lo que quieres es especializarte en Machine Learning.

Uno de los campos con más futuro y para el que vas a necesitar formación. Conoce esta y otras herramientas gracias al curso de Especialización en Machine Learning de Tokio School. Solicita información ahora y conviértete en el profesional que siempre has querido ser. ¡Te esperamos!