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
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, y no ofrece la cantidad de librerías y recursos que, por ejemplo, ofrecen R, Python o Matlab.
Julia se inició en el año 2009. El 14 de febrero de 2012, el equipo lanzó un sitio web que explica porque fue creado el lenguaje idioma. En una entrevista con InfoWorld en abril de 2012, Karpinski dijo sobre el nombre «Julia«: «En realidad, no hay una buena razón. Parecía un nombre bonito». Bezanson dijo que eligió el nombre por recomendación de un amigo.
Desde el lanzamiento de 2012, Julia ha sido descargado por usuarios de más de 10,000 empresas,10 con más de 24.000.000 de descargas en enero de 2021 y se utiliza en más de 1.500 universidades. La conferencia académica JuliaCon para usuarios y desarrolladores de Julia se ha celebrado anualmente desde 2014 dando la bienvenida a más de 28,900 espectadores únicos.
La versión 0.3 se publicó en agosto de 2014, la versión 0.4 en octubre de 2015, la versión 0.5 en octubre de 201614 y la versión 0.6 en junio de 2017. Tanto Julia 0.7 (una versión útil para probar paquetes y para saber cómo actualizarlos para 1.0) como la versión 1.0 se lanzaron el 8 de agosto de 2018.
El candidato de lanzamiento para Julia 1.0 (Julia 1.0.0-rc1) se lanzó el 7 de agosto de 2018, y la versión final un día después (actualmente las versiones más antiguas que aún se admiten son 1.0.x, con soporte a largo plazo durante al menos un año). Julia 1.1 se lanzó en enero de 2019 con una nueva función de idioma de «pila de excepciones». Julia 1.2 se lanzó en agosto de 2019 y tiene algún soporte integrado para navegadores web,16 y Julia 1.5 en agosto de 2020.1
La elección de un lenguaje de programación es siempre subjetiva, las siguientes características de Julia son decisivas:
- Julia está desarrollado como un lenguaje de programación de alto rendimiento.
- Julia usa envío múltiple (“multiple dispatch” en inglés), que le permite al programador elegir entre diferentes patrones de programación de acuerdo a la aplicación.
- Julia es un lenguaje de tipo dinámico que se puede usar fácilmente de forma interactiva.
- Julia tiene una sintaxis de alto nivel que es fácil de aprender.
- Julia es un lenguaje de programación con tipos opcionales, cuyos tipos de datos (definidos por el usuario) hacen que el código sea claro y robusto.
- Julia tiene una biblioteca estándar extendida, además, están disponibles numerosos paquetes de terceros.
Julia es un lenguaje de programación único, ya que resuelve el problema de los dos idiomas. No se necesita de ningún otro lenguaje de programación para escribir código de alto rendimiento. Esto no significa que ocurra automáticamente. Es responsabilidad del programador optimizar el código que genere cuellos de botella, aunque esto puede hacerse directamente en Julia.
Si te interesa aprender más sobre Julia, aquí te comparto el link de documentación y el link de descarga.