Julia (lenguaje de programación)


Julia es un lenguaje de programación dinámico de alto nivel y alto rendimiento . Si bien es un lenguaje de propósito general y se puede usar para escribir cualquier aplicación, muchas de sus características son adecuadas para el análisis numérico y la ciencia computacional . [22] [23] [24] [25]

Los aspectos distintivos del diseño de Julia incluyen un sistema de tipos con polimorfismo paramétrico en un lenguaje de programación dinámico ; con despacho múltiple como su paradigma central de programación . Julia es compatible con la computación simultánea , paralela (componible) y distribuida (con o sin el uso de MPI [26] o el correspondiente [ aclaración necesaria ] [27] incorporado a subprocesos de "estilo OpenMP " [28] ), y llamadas directas de C y bibliotecas Fortran sincódigo de pegamento Julia usa un compilador justo a tiempo (JIT) que se conoce como "justo antes de tiempo " (JAOT) en la comunidad de Julia, ya que Julia compila todo el código (de forma predeterminada) en código de máquina antes de ejecutarlo. [29] [30]

Julia se recolecta basura , [31] utiliza una evaluación entusiasta e incluye bibliotecas eficientes para cálculos de punto flotante , álgebra lineal , generación de números aleatorios y coincidencia de expresiones regulares . Hay muchas bibliotecas disponibles, incluidas algunas (p. ej., para transformadas rápidas de Fourier ) que anteriormente se incluyeron con Julia y ahora están separadas. [32]

Varias herramientas de desarrollo admiten la codificación en Julia, como los entornos de desarrollo integrados (p. ej., Visual Studio Code de Microsoft , con extensiones disponibles que agregan compatibilidad con Julia a los IDE, p. ej., brindan compatibilidad con depuración y linting [33] ); con herramientas integradas, por ejemplo, un generador de perfiles (y compatibilidad con gráficos de llamas disponibles [34] [35] para el integrado), depurador, [36] y el paquete Rebugger.jl "admite depuración de ejecución repetida " [a] y más . [38]

El trabajo en Julia se inició en 2009, por Jeff Bezanson , Stefan Karpinski , Viral B. Shah y Alan Edelman , quienes se propusieron crear un lenguaje libre que fuera rápido y de alto nivel. El 14 de febrero de 2012, el equipo lanzó un sitio web con una publicación de blog que explica la misión del idioma. [39] En una entrevista con InfoWorld en abril de 2012, Karpinski dijo sobre el nombre "Julia": "No hay una buena razón, realmente. Parecía un nombre bonito". [24] Bezanson dijo que eligió el nombre por recomendación de un amigo, [40] luego, años después, escribió:

Desde el lanzamiento de 2012, la comunidad de Julia ha crecido y, a partir de 2020, "Julia ha sido descargada por usuarios de más de 10 000 empresas y se usa en más de 1500 universidades" [42] con más de 35 millones de descargas a partir de enero de 2022 , [ 43] y el ecosistema del paquete Julia tiene más de 11,8 millones de líneas de código (incluidos documentos y pruebas). [44] La conferencia académica JuliaCon para usuarios y desarrolladores de Julia se lleva a cabo anualmente desde 2014 y JuliaCon2020 da la bienvenida a más de 28 900 espectadores únicos, [45]y luego JuliaCon2021 rompiendo todos los récords anteriores (con más de 300 presentaciones de JuliaCon2021 disponibles de forma gratuita en YouTube, frente a las 162 del año anterior) y 43 000 espectadores únicos durante la conferencia. [46]