stringtranslate.com

Julia (lenguaje de programación)

Julia es un lenguaje de programación dinámico de alto nivel y de propósito general [21] , más comúnmente utilizado para análisis numérico y ciencia computacional . [22] [23] [24] Los aspectos distintivos del diseño de Julia incluyen un sistema de tipos con polimorfismo paramétrico y el uso de despacho múltiple como paradigma de programación central , recolección de basura eficiente , [25] y un sistema justo a tiempo (JIT) compilador [21] [26] (con soporte para compilación anticipada [27] [28] [29] ).

Julia se puede ejecutar de manera similar a los lenguajes de scripting (interpretados) (es decir, Julia tiene un REPL ) y [ se necesita aclaración ] de forma predeterminada usando su tiempo de ejecución (cuando está preinstalado), [27] pero los programas/ código fuente de Julia también se pueden enviar opcionalmente a usuarios en un archivo listo para instalar/ejecutar, que se puede crear rápidamente y no necesita nada preinstalado. [ cita necesaria ] Los programas de Julia también se pueden compilar (por separado) en ejecutables binarios , incluso permitiendo la distribución sin código fuente. Esta compilación no es necesaria para aumentar la velocidad, ya que Julia también se compila cuando se ejecuta de forma interactiva, pero puede ayudar a ocultar el código fuente. Las características del lenguaje se pueden compilar por separado, por lo que Julia se puede usar, por ejemplo, con su tiempo de ejecución o sin él (lo que permite bibliotecas y ejecutables más pequeños, pero tiene capacidades limitadas).

Los programas de Julia pueden reutilizar bibliotecas de otros lenguajes llamándolas, por ejemplo, llamando a bibliotecas de C o Rust , y también se pueden llamar a Julia (bibliotecas) desde otros lenguajes, por ejemplo, Python y R , y varios paquetes de Julia se han puesto a disposición fácilmente desde esos lenguajes. en forma de bibliotecas Python y R para los paquetes Julia correspondientes. Se han implementado llamadas en cualquier dirección para muchos idiomas, como todos estos.

La extensión Visual Studio Code de Julia proporciona un entorno de desarrollo integrado con todas las funciones y soporte para depuración, linting y creación de perfiles . [30] [31] [32] [33]

Historia

El trabajo en Julia comenzó en 2009, cuando Jeff Bezanson , Stefan Karpinski , Viral B. Shah y Alan Edelman 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. [34] En una entrevista con InfoWorld en abril de 2012, Karpinski dijo sobre el nombre "Julia": "En realidad, no hay una buena razón. Simplemente parecía un nombre bonito". [23] Bezanson dijo que eligió el nombre por recomendación de un amigo, [35] y años después escribió:

¿Quizás julia significa " el ceceo poco común de Jeff está automatizado"? [36]

La sintaxis de Julia ahora se considera estable, desde la versión 1.0 en 2018, y Julia tiene una garantía de compatibilidad con versiones anteriores para 1.xy también una promesa de estabilidad para la API documentada (estable) , mientras que en los años anteriores, en el desarrollo inicial anterior a 0.7, La sintaxis (y la semántica) se cambió en las nuevas versiones. Todo el ecosistema (paquete registrado) utiliza la sintaxis nueva y mejorada y, en la mayoría de los casos, se basa en nuevas API que se han agregado regularmente y, en algunos casos, se agregó una sintaxis adicional menor de manera compatible con versiones posteriores, por ejemplo, en Julia 1.7.

En los 10 años transcurridos desde el lanzamiento en 2012 de la versión 1.0 de Julia, la comunidad ha crecido. El ecosistema del paquete Julia tiene más de 11,8 millones de líneas de código (incluidos documentos y pruebas). [37] La ​​conferencia académica JuliaCon para usuarios y desarrolladores de Julia se lleva a cabo anualmente desde 2014: JuliaCon2020 [38] recibió a más de 28 900 espectadores únicos, [39] y luego JuliaCon2021 rompió todos los récords anteriores (con más de 300 presentaciones de JuliaCon2021 disponibles de forma gratuita en YouTube, frente a 162 el año anterior), y 43.000 espectadores únicos durante la conferencia. [40]

Tres de los cocreadores de Julia recibieron el Premio James H. Wilkinson de Software Numérico 2019 (otorgado cada cuatro años) "por la creación de Julia, un entorno innovador para la creación de herramientas de alto rendimiento que permiten el análisis y solución de problemas de ciencia computacional." [41] Además, Alan Edelman, profesor de matemáticas aplicadas en el MIT , ha sido seleccionado para recibir el Premio Sidney Fernbach de la IEEE Computer Society 2019 "por avances sobresalientes en computación de alto rendimiento, álgebra lineal y ciencia computacional y por contribuciones al Instituto Julia lenguaje de programación." [42]

Tanto Julia 0.7 [43] como la versión 1.0 se lanzaron el 8 de agosto de 2018. El trabajo en Julia 0.7 fue una "gran tarea" (por ejemplo, debido a un "optimizador completamente nuevo") y se realizaron algunos cambios en la semántica, por ejemplo, la iteración. La interfaz se simplificó. [44] Julia 1.1 se lanzó en enero de 2019 con una nueva función de "pila de excepciones". Julia 1.2 se lanzó en agosto de 2019 con soporte integrado para navegadores web. [45] Julia 1.3 agregó paralelismo multiproceso componible y un sistema de artefactos binarios para los paquetes de Julia. [46] Julia 1.4 agregó sintaxis para la indexación de matrices genéricas para manejar, por ejemplo, matrices basadas en 0 . [47] El modelo de memoria también fue cambiado. [48] ​​Julia 1.5, lanzada en agosto de 2020, agregó soporte de depuración de grabación y reproducción , [49] para la herramienta rr de Mozilla . El lanzamiento cambió el comportamiento en REPL (alcance suave) al que se usa en Jupyter , pero es totalmente compatible con código que no es REPL. La mayor parte de la API de subprocesos se marcó como estable y, con esta versión, "los objetos inmutables arbitrarios, independientemente de si tienen campos que hacen referencia a objetos mutables o no, ahora se pueden asignar en pila", [50] reduciendo las asignaciones de montón, por ejemplo, viewsya no asignando. Julia 1.5 se centró en el rendimiento del llamado "tiempo hasta el primer trazado" (TTFP, también llamado TTFX, para la primera X, el problema más general), en general, la velocidad de compilación en sí (a diferencia del rendimiento del código generado). ) y herramientas agregadas para que los desarrolladores mejoren la carga de paquetes. [51] Julia 1.6 fue la versión más grande desde la 1.0, más rápida en muchos frentes, por ejemplo, introdujo una precompilación paralela y una carga más rápida de paquetes, en algunos casos "aceleración de 50 veces en los tiempos de carga para grandes árboles de artefactos binarios". [52] A partir de la versión 1.7, el desarrollo de Julia vuelve a ser versiones basadas en el tiempo . [53] Julia 1.7.0 se lanzó en noviembre de 2021 con muchos cambios, por ejemplo, un nuevo generador de números aleatorios más rápido . Julia 1.7.3 se lanzó el 25 de mayo de 2022 y solucionó algunos problemas, incluida al menos una actualización de seguridad, [54] y 1.7.x ya no es compatible. Julia 1.8 se lanzó en 2022 (y las versiones hasta 1.8.5 como seguimiento en enero de 2023, [55] corrigiendo errores ( backporting ) e "invalidaciones", compilando así más rápido), con mejoras para distribuir programas de Julia sin código fuente. y aceleración del compilador, en algunos casos en un 25%, [56] y una inserción en línea más controlable (es decir,ahora también permite aplicar@inlineen el sitio de la llamada, no sólo en la función misma). Julia 1.9.0 se lanzó el 7 de mayo de 2023 (y posteriormente 1.9.4, la última versión estable). Tiene muchas mejoras, como solucionar el problema TTFX/TTFP; Las versiones anteriores tienen precompilación de paquetes, pero no se precompilaron completamente en código nativo hasta la versión 1.9, lo que provocó un primer uso más lento. Los paquetes precompilados, desde la versión 1.9, pueden ser hasta cientos de veces más rápidos en el primer uso (por ejemplo, para CSV.jl y DataFrames.jl) y, para mejorar la precompilación de paquetes, se ha introducido un nuevo paquete PrecompileTools.jl.

Julia 1.10.0 se lanzó el 25 de diciembre de 2023 (y la actualización de Julia 1.10.1 el 14 de febrero de 2024) con muchas características nuevas, por ejemplo, tiempos de carga de paquetes mejorados y un nuevo analizador con mejores mensajes de error y una representación mejorada del seguimiento de pila. [57]

Julia 1.10.1 y 1.10.0 tuvieron varias regresiones, algunas con soluciones alternativas, como el trazado, [58] [59] [60] [61] y 1.10.2 se lanzó desde el 1 de marzo de 2024. 1.10.3 es Próximamente con algunas correcciones.

JuliaCon

Desde 2014, [62] la Comunidad Julia ha organizado una Conferencia Julia anual centrada en desarrolladores y usuarios. La primera JuliaCon tuvo lugar en Chicago y dio inicio a la celebración anual de la conferencia. Desde 2014, la conferencia se ha celebrado en varios lugares, incluidos el MIT [63] y la Universidad de Maryland, Baltimore. [64] La audiencia del evento aumentó de unas pocas docenas de personas a más de 28,900 asistentes únicos [65] durante la JuliaCon 2020, que tuvo lugar virtualmente. JuliaCon 2021 también se llevó a cabo virtualmente [66] con discursos de apertura de los profesores William Kahan , el arquitecto principal del estándar de punto flotante IEEE 754 (que utilizan prácticamente todas las CPU y lenguajes, incluida Julia), [67] Jan Vitek, [68 ] Xiaoye Sherry Li y Soumith Chintala, cocreador de PyTorch . [69] JuliaCon creció a 43.000 asistentes únicos y más de 300 presentaciones (aún de libre acceso, además para los años mayores). JuliaCon 2022 también será virtual y se llevará a cabo entre el 27 y el 29 de julio de 2022, por primera vez en varios idiomas, no solo en inglés.

Patrocinadores

El idioma Julia se convirtió en un proyecto patrocinado fiscalmente por NumFOCUS en 2014 en un esfuerzo por garantizar la sostenibilidad a largo plazo del proyecto. [70] Jeremy Kepner del Laboratorio Lincoln del MIT fue el patrocinador fundador del proyecto Julia en sus inicios. Además, los fondos de la Fundación Gordon y Betty Moore , la Fundación Alfred P. Sloan , Intel y agencias como NSF , DARPA , NIH , NASA y FAA han sido esenciales para el desarrollo de Julia. [71] Mozilla , el fabricante del navegador web Firefox, con sus subvenciones de investigación para el primer semestre de 2019, patrocinó a "un miembro del equipo oficial de Julia" para el proyecto "Bringing Julia to the Browser", [72] es decir, Firefox y otros sitios web. navegadores. [73] [74] [75] [76] El lenguaje Julia también cuenta con el apoyo de donantes individuales en GitHub. [77]

la empresa julia

JuliaHub, Inc. fue fundada en 2015 como Julia Computing, Inc. por Viral B. Shah , Deepak Vinchhi, Alan Edelman , Jeff Bezanson , Stefan Karpinski y Keno Fischer . [78] [79]

En junio de 2017, Julia Computing recaudó 4,6  millones de dólares en financiación inicial de General Catalyst y Founder Collective; [80] el mismo mes la Fundación Alfred P. Sloan "otorgó 910.000 dólares para apoyar el desarrollo de Julia de código abierto , incluidos 160.000 dólares para promover la diversidad". en la comunidad de Julia", [81] y en diciembre de 2019 la empresa obtuvo  una financiación de 1,1 millones de dólares del gobierno de EE. UU. para "desarrollar una herramienta de aprendizaje automático de componentes neuronales para reducir el consumo total de energía de los sistemas de calefacción, ventilación y aire acondicionado (HVAC) en los edificios". [82] En julio de 2021, Julia Computing anunció que recaudaron una ronda Serie A de 24 millones de dólares liderada por Dorilton Ventures, [83] que también es propietaria del equipo de Fórmula 1 Williams Racing , que se asoció con Julia Computing. El director comercial de Williams dijo: "Invertir en empresas que crean la mejor tecnología en la nube es un enfoque estratégico para Dorilton y la plataforma versátil de Julia, con capacidades revolucionarias en simulación y modelado, es enormemente relevante para nuestro negocio. Esperamos incorporar a Julia La informática en el deporte tecnológicamente más avanzado del mundo". [84] En junio de 2023, JuliaHub recibió (nuevamente, ahora con su nuevo nombre) una nueva inversión estratégica de 13 millones de dólares liderada por AE Industrial Partners HorizonX ("AEI HorizonX"). AEI HorizonX es una plataforma de inversión de capital riesgo formada en asociación con The Boeing Company , que utiliza Julia. [85] El trabajo de Tim Holy (en el Holy Lab de la Universidad de Washington en St. Louis ) sobre Julia 1.9 (mejora de la capacidad de respuesta) fue financiado por la Iniciativa Chan Zuckerberg .

Características del idioma

Julia es un lenguaje de programación de propósito general , [86] aunque también fue diseñado originalmente para computación numérica/técnica. También es útil para la programación de sistemas de bajo nivel , [87] como lenguaje de especificación , [88] herramienta de síntesis de alto nivel (HLS) (para hardware, por ejemplo, FPGA ), [89] y para programación web [90] en ambos lado del servidor [91] [92] y del cliente [93] [94] .

Las principales características del idioma son:

El envío múltiple (también denominado multimétodos en Lisp) es una generalización del envío único  (el mecanismo polimórfico utilizado en lenguajes de programación orientados a objetos (POO) comunes, como Python , C++ , Java , JavaScript y Smalltalk  ) que utiliza herencia . En Julia, todos los tipos concretos son subtipos de tipos abstractos, directa o indirectamente subtipos del Anytipo, que es la parte superior de la jerarquía de tipos. Los tipos concretos no se pueden subtipificar como se hace en otros idiomas; en su lugar se utiliza composición (ver también herencia versus subtipificación ).

De forma predeterminada, el tiempo de ejecución de Julia debe estar preinstalado cuando se ejecuta el código fuente proporcionado por el usuario. Alternativamente, las aplicaciones Julia (GUI) se pueden agrupar rápidamente en un solo archivo con AppBundler.jl [95] para "crear aplicaciones Julia GUI en formatos modernos de instalación de aplicaciones de escritorio". Utiliza Snap para Linux, MSIX para Windows y DMG para MacOS. como objetivos. Incluye Julia completa dentro de la aplicación". [96] PackageCompiler.jl puede crear ejecutables independientes que no necesitan el código fuente de Julia para ejecutarse. [27]

En Julia, todo es un objeto, muy parecido a los lenguajes orientados a objetos; sin embargo, a diferencia de la mayoría de los lenguajes orientados a objetos, todas las funciones utilizan envío múltiple para seleccionar métodos, en lugar de envío único.

La mayoría de los paradigmas de programación se pueden implementar utilizando las macros y paquetes homoicónicos de Julia. Las macros sintácticas de Julia (utilizadas para la metaprogramación ), como las macros Lisp, son más potentes que las macros de sustitución de texto utilizadas en el preprocesador de algunos otros lenguajes como C, porque funcionan a nivel de árboles de sintaxis abstracta (AST). El sistema macro de Julia es higiénico , pero también admite la captura deliberada cuando se desea (como para las macros anafóricas ) utilizando la escconstrucción.

Julia se inspira en varios dialectos de Lisp, incluidos Scheme y Common Lisp , y comparte muchas características con Dylan , también un lenguaje dinámico orientado al envío múltiple (que presenta una sintaxis infija de forma libre similar a ALGOL en lugar de una sintaxis tipo Lisp). sintaxis de prefijo, mientras que en Julia "todo" [97] es una expresión ), y con Fortress , otro lenguaje de programación numérico (que presenta despacho múltiple y un sofisticado sistema de tipos paramétricos). Si bien Common Lisp Object System (CLOS) agrega envío múltiple a Common Lisp, no todas las funciones son genéricas.

En Julia, Dylan y Fortress, la extensibilidad es la opción predeterminada y las funciones integradas del sistema son todas genéricas y extensibles. En Dylan, el despacho múltiple es tan fundamental como lo es en Julia: todas las funciones definidas por el usuario e incluso las operaciones básicas integradas +son genéricas. Sin embargo, el sistema de tipos de Dylan no admite completamente los tipos paramétricos, que son más típicos del linaje de lenguajes ML . De forma predeterminada, CLOS no permite el envío de tipos paramétricos de Common Lisp; dicha semántica de envío extendida solo se puede agregar como una extensión a través del protocolo de metaobjetos CLOS . Por diseño convergente, Fortress también presenta despacho múltiple en tipos paramétricos; Sin embargo, a diferencia de Julia, Fortress se escribe estáticamente en lugar de dinámicamente, con fases separadas de compilación y ejecución. Las características del idioma se resumen en la siguiente tabla:

Un ejemplo de la extensibilidad de Julia, el paquete Unitful.jl agrega soporte para unidades de medida físicas al lenguaje.

Interoperabilidad

Julia tiene soporte integrado para llamar a bibliotecas de lenguaje C o Fortran usando la @ccallmacro. Bibliotecas adicionales permiten a los usuarios trabajar con Python , [98] R , [99] C++ , [100] Java , [101] y SQL . [102] [103] [104] [105]

Opción de ejecutables compilados por separado

Julia se puede compilar en ejecutables binarios con PackageCompiler.jl. [27] También se pueden escribir ejecutables más pequeños utilizando un subconjunto estático del lenguaje proporcionado por StaticCompiler.jl que no admite el envío en tiempo de ejecución (ni la recolección de basura, ya que excluye el tiempo de ejecución que lo proporciona). [106]

Interacción

La distribución oficial de Julia incluye un bucle interactivo de lectura, evaluación e impresión (REPL) de línea de comandos , [107] con un historial de búsqueda, finalización de pestañas y modos de shell y ayuda dedicados , [108] que se pueden utilizar para experimentar y probar código. rápidamente. [109] El siguiente fragmento representa un ejemplo de sesión de muestra donde las cadenas se concatenan automáticamente mediante println: [110]

julia > p ( x ) = 2x ^ 2 + 1 ; f ( x , y ) = 1 + 2 p ( x ) y julia> println ( "¡Hola mundo!" , "Estoy en la nube" , f ( 0 , 4 ), "¡ya que Julia admite una sintaxis reconocible!" ) Hola ¡mundo! ¡Estoy en la nube 9 porque Julia admite una sintaxis reconocible!                

El REPL brinda al usuario acceso al shell del sistema y al modo de ayuda, presionando ;o ?después del mensaje (antes de cada comando), respectivamente. También mantiene el historial de comandos, incluso entre sesiones. [111] El código puede probarse dentro de la sesión interactiva de Julia o guardarse en un archivo con una .jlextensión y ejecutarse desde la línea de comandos escribiendo: [97]

$ julia  <nombre de archivo>

Julia usa códigos UTF-8 y LaTeX , lo que le permite admitir símbolos matemáticos comunes para muchos operadores, como ∈ para el inoperador, que se puede escribir \inpresionando luego Tab ↹(es decir, usa códigos LaTeX , o también es posible simplemente copiar y pegar, por ejemplo, √ y ∛ posible para funciones sqrt y cbrt ). Julia es compatible con la última versión principal Unicode 15.0 (Julia 1.11-DEV admite la última versión de 15.1 puntos [112] ) [113] para los idiomas del mundo, incluso para el código fuente, por ejemplo, nombres de variables (aunque se recomienda usar inglés para código público y, por ejemplo, nombres de paquetes).

Julia cuenta con el respaldo de Jupyter , un entorno de "cuadernos" interactivos en línea, [114] y Pluto.jl, un "cuaderno reactivo" (donde los cuadernos se guardan como archivos puros de Julia), un posible reemplazo del tipo anterior. [115] Además, el sistema de publicación Quarto de Posit (anteriormente RStudio Inc) es compatible con Julia, Python, R y JavaScript observable (esos lenguajes tienen soporte oficial por parte de la compañía e incluso se pueden entretejer en el mismo documento de cuaderno, más idiomas son admitidos no oficialmente). ). [116] [117]

El REPL se puede ampliar con modos adicionales y se ha incluido con paquetes, por ejemplo, con un modo SQL , [118] para acceso a bases de datos, y RCall.jl agrega un modo R , para trabajar con el lenguaje R. [119]

Usar con otros idiomas

En la práctica, Julia es interoperable con otros idiomas (por ejemplo, la mayoría de los 10 a 20 idiomas principales de uso popular). se utiliza para llamar a funciones de biblioteca compartida individualmente (como las escritas en C o Fortran), y hay paquetes disponibles para permitir llamar a otros lenguajes (que no proporcionan funciones exportadas a C directamente), por ejemplo, Python (con PythonCall.jl), R, MATLAB, C# (y otros lenguajes .NET con DotNET.jl, de ellos con JdotNET), JavaScript, Java (y otros lenguajes JVM, como Scala con JavaCall.jl). Y los paquetes para otros lenguajes permiten llamar a Julia, por ejemplo, desde Python, R, Rust , Ruby o C#. Por ejemplo, con juliacall (parte de PythonCall.jl, pyjulia es una opción diferente) para llamar desde Python y un paquete JuliaCall diferente para llamar desde R. Julia también se ha utilizado para hardware, es decir, para compilar en VHDL , como un paquete de alto nivel. herramienta de síntesis (HLS) (por ejemplo, FPGA ). [89]

Julia tiene paquetes que soportan lenguajes de marcado como HTML (y también para HTTP ), XML , JSON y BSON , y para bases de datos (como PostgreSQL, [120] Mongo, [121] Oracle, incluso para TimesTen , [122] MySQL, SQLite , Microsoft SQL Server, [121] Amazon Redshift, Vertica, ODBC) y uso web en general. [123] [124]

Sistema de paquetes

Julia tiene un administrador de paquetes incorporado e incluye un sistema de registro predeterminado. [125] Los paquetes se distribuyen con mayor frecuencia como código fuente alojado en GitHub , aunque también se pueden utilizar alternativas. Los paquetes también se pueden instalar como binarios, utilizando artefactos. [126] El administrador de paquetes de Julia se utiliza para consultar y compilar paquetes, así como para administrar entornos. Se admiten registros de paquetes federados, lo que permite agregar localmente registros distintos del oficial. [127]

Implementación

El núcleo de Julia se implementa en Julia y C , junto con C++ para la dependencia de LLVM . El análisis de código, la reducción de código y el arranque se implementaron en FemtoLisp, un dialecto de Scheme , hasta la versión 1.10. [128] Desde esa versión, el nuevo paquete puro de Julia, JuliaSyntax.jl, se utiliza para el análisis (mientras aún se puede elegir el anterior) [129], lo que mejora la velocidad y "mejora enormemente los mensajes de error del analizador en varios casos". [130] El proyecto de infraestructura del compilador LLVM se utiliza como back-end para generar código de máquina optimizado para todas las plataformas de uso común. Con algunas excepciones, la biblioteca estándar está implementada en Julia.

Plataformas actuales y futuras

Julia tiene compatibilidad con macOS de nivel 1 , para Apple Silicon Mac de 64 bits, de forma nativa (anteriormente, las Mac basadas en Apple M1 solo eran compatibles con la emulación Rosetta 2 [131] [132] ), y también es totalmente compatible con Mac basadas en Intel. Sin embargo, Julia 1.6 LTS no es totalmente compatible con Mac basadas en Arm (entonces se marcó como experimental), y ese soporte se actualizó primero al nivel 2 con Julia 1.8 y luego al nivel 1. Windows en ARM aún no tiene soporte oficial.

Julia tiene cuatro niveles de soporte. [133] Todos los procesadores IA-32 que implementan completamente la subarquitectura i686 son compatibles y todos los x86-64 de 64 bits (también conocidos como amd64 ), es decir, todos los que tienen menos de una década de antigüedad son compatibles. Los procesadores Armv8 ( AArch64 ) son compatibles con el segundo nivel y ARMv7 (AArch32) con el tercer nivel. [134] Cientos de paquetes están acelerados por GPU : [135] CUDA (es decir, GPU de Nvidia; que implementan PTX ) tiene soporte de nivel 1, con la ayuda de un paquete externo (y versiones anteriores del paquete admiten hasta CUDA 9). También hay paquetes adicionales que admiten otros aceleradores, como las TPU de Google , [136] y algunas GPU Intel (integradas), a través de oneAPI.jl , [137] y las GPU de AMD tienen soporte, por ejemplo, con OpenCL ; y soporte experimental para la pila AMD ROCm . [138]

En algunas plataformas, es posible que sea necesario compilar Julia a partir del código fuente (por ejemplo, la Raspberry Pi original ), con opciones de compilación específicas, lo cual se ha hecho y hay disponibles archivos binarios prediseñados no oficiales (e instrucciones de compilación). [139] [140] Julia ha sido construida para varias plataformas ARM, desde la pequeña Raspberry Pis hasta la (reciente) supercomputadora top 1 Fugaku basada en ARM A64FX . [141] PowerPC (64 bits) tiene soporte de nivel 3, lo que significa que "puede compilarse o no". Julia ahora es compatible con Raspbian [142] mientras que el soporte es mejor para Pis más nuevos, por ejemplo, aquellos con Armv7 o más nuevo; El apoyo de Julia es promovido por la Fundación Raspberry Pi . [143]

Si bien Julia requiere un sistema operativo de forma predeterminada y no tiene soporte oficial para ejecutarse sin o en plataformas de sistemas integrados como Arduino , el código de Julia aún se ejecuta en él, con algunas limitaciones, es decir, en un sistema baremetal de 16  MHz y 8 bits ( ATmega328P ). ) Microcontrolador AVR Arduino con 2 KB de RAM (más 32 KB de memoria flash). [144] [145]

Adopción

Julia ha sido adoptada en muchas universidades, incluidas el MIT , Stanford , UC Berkeley y la Universidad de Ciudad del Cabo . Grandes empresas privadas de muchos sectores han adoptado el lenguaje, incluidas Amazon , IBM , JP Morgan AI Research, [146] y ASML . Julia también ha sido utilizada por agencias gubernamentales como la NASA y la FAA , así como por todos los laboratorios nacionales de energía de EE. UU. [147] [148]

Computación científica e ingeniería.

Productos farmacéuticos y desarrollo de fármacos.

Julia se utiliza ampliamente para el desarrollo de fármacos en la industria farmacéutica, y ha sido adoptada por Moderna , Pfizer , AstraZeneca , Procter & Gamble y United Therapeutics . [168] [169]

Economía, finanzas y ciencias políticas.

Ver también

Referencias

  1. ^ "2. Programación orientada a objetos: inicio de la programación de Julia: para ingenieros y científicos [libro]". www.oreilly.com . Consultado el 26 de enero de 2023 .
  2. ^ "Suavizar datos con las funciones @generated de Julia". 5 de noviembre de 2015 . Consultado el 9 de diciembre de 2015 . Las funciones generadas por Julia están estrechamente relacionadas con el paradigma de programación multietapa (MSP) popularizado por Taha y Sheard, que generaliza las etapas de tiempo de compilación/tiempo de ejecución de la ejecución del programa al permitir múltiples etapas de ejecución retrasada del código.
  3. ^ "LICENCIA.md". GitHub . Septiembre de 2017.
  4. ^ "Colaboradores de JuliaLang/julia". GitHub .
  5. ^ abcd "Por qué creamos a Julia". Sitio web de Julia . Febrero de 2012 . Consultado el 7 de febrero de 2013 .
  6. ^ "Descargar Julia".
  7. ^ "Lanzamiento v1.11.0-beta1 · JuliaLang/julia". GitHub . Consultado el 10 de abril de 2024 .
  8. ^ "Julia v1.11.0-alpha2 ya está disponible". Lenguaje de programación Julia . 19 de marzo de 2024 . Consultado el 4 de abril de 2024 .
  9. ^ "Versión 1.11 de Backports de KristofferC · Solicitud de extracción n.º 53472 · JuliaLang/julia". GitHub . Consultado el 26 de febrero de 2024 .
  10. ^ "GitHub - JuliaLang/julia en la versión 1.6". GitHub . Consultado el 19 de julio de 2022 .
  11. ^ "lanzamiento-1.6: Backports para 1.6.7 de KristofferC · Solicitud de extracción n.º 45319 · JuliaLang/julia". GitHub . Consultado el 16 de mayo de 2022 .
  12. ^ "Backports para 1.10.3 por KristofferC · Solicitud de extracción n.° 53714 · JuliaLang/julia". GitHub . Consultado el 10 de abril de 2024 .
  13. ^ ab Engheim, Erik (17 de noviembre de 2017). "Los lenguajes escritos dinámicamente no son lo que piensas". Medio . Consultado el 27 de enero de 2021 .
  14. ^ "Edificio Julia (detallado)". GitHub . Septiembre de 2017 . Consultado el 16 de mayo de 2022 .
  15. ^ "NVIDIA CUDA ⋅ JuliaGPU". juliagpu.org . Consultado el 17 de enero de 2022 . Hemos demostrado que el rendimiento se acerca e incluso a veces supera el de CUDA C en una selección de aplicaciones del conjunto de pruebas Rodinia.
  16. ^ Stokel-Walker, Chris. "Julia: El lenguaje de Ricitos de Oro". Incremento . Raya . Consultado el 23 de agosto de 2020 .
  17. ^ "JuliaCon 2016". JuliaCon . Consultado el 6 de diciembre de 2016 . Ha codiseñado el lenguaje de programación Scheme, que ha influido mucho en el diseño de Julia.
  18. ^ abcd "Inicio · El idioma de Julia". docs.julialang.org . Consultado el 15 de agosto de 2018 .
  19. ^ "Red de lenguajes de programación". GitHub. Archivado desde el original el 20 de diciembre de 2020 . Consultado el 6 de diciembre de 2016 .
  20. ^ "¿Cómo deberíamos llamar el lenguaje de Mathematica? —Stephen Wolfram Writings". escritos.stephenwolfram.com . Consultado el 24 de junio de 2021 .
  21. ^ ab Fischer, Keno; Nash, Jameson. "Hacer crecer un compilador - Llegar al aprendizaje automático desde un compilador de uso general - JuliaHub". juliahub.com . Consultado el 16 de noviembre de 2022 .
  22. ^ Bryant, Avi (15 de octubre de 2012). "Matlab, R y Julia: lenguajes para análisis de datos". O'Reilly Strata. Archivado desde el original el 26 de abril de 2014.
  23. ^ ab Krill, Paul (18 de abril de 2012). "El nuevo lenguaje Julia busca ser la C para los científicos". InfoMundo .
  24. ^ Finley, Klint (3 de febrero de 2014). "Al aire libre: el hombre crea un lenguaje de programación para gobernarlos a todos". Cableado .
  25. ^ "Suspender la recolección de basura por motivos de rendimiento... ¿buena idea o mala idea?". Grupos.google.com . Consultado el 31 de mayo de 2017 .
  26. ^ "Sysimages · PackageCompiler". julialang.github.io . Consultado el 10 de abril de 2023 .
  27. ^ abcd "GitHub - JuliaLang/PackageCompiler.jl: compila tu paquete Julia". El idioma de Julia. 14 de febrero de 2019 . Consultado el 15 de febrero de 2019 .
  28. ^ "julia/doc/src/devdocs/aot.md en master · JuliaLang/julia". GitHub . Consultado el 3 de octubre de 2023 .
  29. ^ "Construcción de imágenes del sistema · El lenguaje Julia". docs.julialang.org . Consultado el 3 de octubre de 2023 .
  30. ^ Santo, Tim (13 de septiembre de 2019). "GitHub - timholy/ProfileView.jl: visualización de datos de perfiles de Julia". GitHub . Consultado el 22 de septiembre de 2019 .
  31. ^ Gregg, Brendan (20 de septiembre de 2019). "GitHub - brendangregg/FlameGraph: visualizador de seguimiento de pila". GitHub . Consultado el 22 de septiembre de 2019 .
  32. ^ "Un intérprete y depurador de Julia". julialang.org . Consultado el 10 de abril de 2019 .
  33. ^ "Inicio · Rebugger.jl". timholy.github.io . Consultado el 10 de abril de 2019 .
  34. ^ Jeff Bezanson; Stefan Karpinski; Shah viral; Alan Edelman. "Por qué creamos a Julia". JuliaLang.org . Consultado el 5 de junio de 2017 .
  35. ^ Torre, Carlos. "Stefan Karpinski y Jeff Bezanson sobre Julia". Canal 9 . MSDN . Consultado el 4 de diciembre de 2018 .
  36. ^ Bezanson, Jeff (2 de abril de 2021). "Parámetros de CAS". discurso.julialang.org . Consultado el 2 de abril de 2021 .
  37. ^ "Boletín de agosto de 2021: Julia Computing completa la recaudación de fondos Serie A de $ 24 millones y el ex director ejecutivo de Snowflake, Bob Muglia, se une a la junta directiva de Julia Computing - JuliaHub". juliahub.com . Consultado el 16 de noviembre de 2022 .
  38. ^ "JuliaCon 2020". JuliaCon 2020 . Consultado el 6 de octubre de 2023 .
  39. ^ "Resumen de JuliaCon 2020". julialang.org . 11 de agosto de 2020 . Consultado el 20 de diciembre de 2020 .
  40. ^ "Aspectos destacados de JuliaCon 2021". julialang.org . Consultado el 6 de septiembre de 2021 .
  41. ^ "Los cocreadores de Julia Language ganan el premio James H. Wilkinson de software numérico". Noticias del MIT . 26 de diciembre de 2018 . Consultado el 22 de enero de 2019 .
  42. ^ "Alan Edelman del MIT reconocido con el prestigioso premio Sidney Fernbach de la IEEE Computer Society 2019 | IEEE Computer Society" (Presione soltar). 1 de octubre de 2019 . Consultado el 9 de octubre de 2019 .
  43. ^ "¿Qué es Julia 0.7? ¿Cómo se relaciona con 1.0?". Julia Lang . 26 de marzo de 2018 . Consultado el 17 de octubre de 2018 .
  44. ^ Davies, Eric. "Escribir iteradores en Julia 0.7". julialang.org . Consultado el 5 de agosto de 2018 .
  45. ^ "Sys.isjsvm([sistema operativo])". El idioma de Julia. 20 de agosto de 2019 . Consultado el 20 de agosto de 2019 . Predicado para probar si Julia se está ejecutando en una máquina virtual JavaScript (JSVM), incluido, por ejemplo, un JavaScript WebAssembly incrustado en un navegador web.
  46. ^ Bezanson, Jeff; Karpinski, Stefan; Shah, viral; Edelman, Alan. "El idioma de Julia". julialang.org . Consultado el 13 de diciembre de 2019 .
  47. ^ "admite un [comienzo] para un [primer índice (a)] por stevengj · Solicitud de extracción n.° 33946 · JuliaLang/julia". GitHub . Consultado el 7 de abril de 2020 .
  48. ^ quinnj. "Para estructuras con todos los campos isbits o isbitsunion, permita que se almacenen en línea en matrices · Solicitud de extracción n.° 32448 · JuliaLang/julia". GitHub . Consultado el 7 de abril de 2020 . Todavía sigo teniendo problemas que esto causa internamente porque fue un cambio importante que cambia las suposiciones hechas por algunos usuarios y la inferencia/codegen.
  49. ^ Fischer, Keno (2 de mayo de 2020). "Próximamente en Julia 1.5: Informe de errores sobre viajes en el tiempo (Linux)". julialang.org . Consultado el 5 de mayo de 2020 . Los gastos generales para el registro de procesos de un solo subproceso generalmente son inferiores a 2 veces, con mayor frecuencia entre el 2 % y el 50 % (menor para cálculos puramente numéricos, mayor para cargas de trabajo que interactúan con el sistema operativo). Grabar múltiples subprocesos o procesos que comparten memoria (en lugar de utilizar el paso de mensajes basado en el kernel) es más difícil. [..] Como era de esperar, la prueba de subprocesos es la peor con aproximadamente un 600% de sobrecarga.
  50. ^ Jeff Bezanson; Stefan Karpinski; Shah viral; Alan Edelman; et al. "El idioma de Julia". julialang.org . Consultado el 14 de agosto de 2020 . Existen algunos límites basados ​​en el tamaño a los que se pueden asignar estructuras en pila, pero es poco probable que se excedan en la práctica.
  51. ^ Jeff Bezanson; Stefan Karpinski; Shah viral; Alan Edelman; et al. "El idioma de Julia". julialang.org . Consultado el 16 de septiembre de 2020 .
  52. ^ Jeff Bezanson; Stefan Karpinski; Shah viral; Alan Edelman; et al. "Aspectos destacados de Julia 1.6". julialang.org . Consultado el 26 de marzo de 2021 .
  53. ^ "Actualización a OpenBLAS 0.3.13 · Solicitud de extracción n.° 39216 · JuliaLang/julia". GitHub . Consultado el 26 de abril de 2021 . Dado que la versión 1.7 no está muy lejos (lanzamientos programados en el futuro)
  54. ^ "[Zlib_jll] Actualización a v1.2.12+3 por giordano · Solicitud de extracción n.° 44810 · JuliaLang/julia". GitHub . Consultado el 25 de mayo de 2022 .
  55. ^ "Backports para Julia 1.8.5 de KristofferC · Solicitud de extracción n.º 48011 · JuliaLang/julia". GitHub . Consultado el 8 de enero de 2023 .
  56. ^ "compilador: acelere el tiempo de arranque en un 25% por aviatesk · Solicitud de extracción n.º 41794 · JuliaLang/julia". GitHub . Consultado el 3 de marzo de 2022 . El arranque tardaba unos 80 segundos anteriormente, pero en este PR el tiempo se reduce a unos 60 segundos.
  57. ^ "Notas de la versión de Julia v1.10 · El lenguaje Julia". docs.julialang.org . 25 de diciembre de 2023. Archivado desde el original el 30 de marzo de 2024 . Consultado el 30 de marzo de 2024 .
  58. ^ "Acceso denegado por trazar artefactos". Lenguaje de programación Julia . 22 de febrero de 2024 . Consultado el 22 de febrero de 2024 .
  59. ^ "Regresiones de Julia 1.10". GitHub .
  60. ^ "descargar error de certificado ca en Linux en Julia 1.10.1 · Número 53339 · JuliaLang/julia". GitHub . Consultado el 22 de febrero de 2024 .
  61. ^ "subtipificación lenta de unión compleja · Número 53371 · JuliaLang/julia". GitHub . Consultado el 22 de febrero de 2024 .
  62. ^ "JuliaCon 2014". juliacon.org . Consultado el 20 de junio de 2021 .
  63. ^ "JuliaCon 2016 en el MIT". mit.edu . 18 de julio de 2016 . Consultado el 20 de junio de 2021 .
  64. ^ "JuliaCon 2019 en la UMB". técnicamente.ly . 23 de julio de 2019 . Consultado el 20 de junio de 2021 .
  65. ^ "Resumen de JuliaCon 2020". julialang.org . Consultado el 20 de junio de 2021 .
  66. ^ "JuliaCon 2021". Juliacon.org . Consultado el 20 de junio de 2021 .
  67. ^ "Aspectos destacados de JuliaCon 2021". julialang.org . Consultado el 3 de marzo de 2022 . La JuliaCon de este año fue la mejor y más grande de la historia, con más de 300 presentaciones disponibles de forma gratuita en YouTube, más de 20 000 registros y más de 43 000 espectadores únicos de YouTube durante la conferencia, en comparación con 162 presentaciones, 10 000 registros y 28 900 espectadores únicos de YouTube. durante la conferencia del año pasado.
  68. ^ "Página de inicio de Jan Vitek". janvitek.org . Consultado el 20 de junio de 2021 .
  69. ^ "Página de inicio de Soumith Chintala". soumith.ch . Consultado el 20 de junio de 2021 .
  70. ^ "Julia: Proyecto patrocinado por NumFOCUS desde 2014". numfocus.org . Consultado el 29 de septiembre de 2020 .
  71. ^ "El idioma de Julia". julialang.org . Consultado el 22 de septiembre de 2019 .
  72. ^ Cimpanu, Catalín. "Mozilla está financiando una forma de admitir a Julia en Firefox". ZDNet . Consultado el 22 de septiembre de 2019 .
  73. ^ "Julia en yoduro". alfa.ioduro.io . Consultado el 22 de septiembre de 2019 .[ enlace muerto permanente ]
  74. ^ "Complementos de idioma: documentación sobre yoduro". proyecto-yodo.github.io . Consultado el 22 de septiembre de 2019 .
  75. ^ "Becas de investigación de Mozilla 2019H1". Mozilla . Archivado desde el original el 9 de octubre de 2019 . Consultado el 22 de septiembre de 2019 . ejecutar intérpretes de idiomas en WebAssembly. Para aumentar aún más el acceso a las principales herramientas de ciencia de datos, estamos buscando a alguien que porte R o Julia a WebAssembly e intente proporcionar un complemento de lenguaje de nivel 3 para Iodide: conversión automática de tipos básicos de datos entre R/Julia y Javascript, y la capacidad de compartir instancias de clase entre R/Julia y Javascript.
  76. ^ "Comunicación y computación científica alfabetizada para la web: proyecto yoduro / yoduro". yoduro. 20 de septiembre de 2019 . Consultado el 22 de septiembre de 2019 . Visualizamos un flujo de trabajo futuro que le permita analizar sus datos en Python, ajustar un modelo rápido en R o JAGS, resolver algunas ecuaciones diferenciales en Julia y luego mostrar sus resultados con una visualización interactiva en vivo de d3+JavaScript... y todo eso dentro de un archivo único, portátil, compartible y pirateable.
  77. ^ "Patrocinar el idioma Julia". github.com . Consultado el 5 de junio de 2021 .
  78. ^ "Acerca de nosotros - Julia Computing". juliacomputing.com . Consultado el 12 de septiembre de 2017 .
  79. ^ "Acerca de nosotros - JuliaHub". juliahub.com . Consultado el 16 de noviembre de 2022 .
  80. ^ "Julia Computing recauda 4,6 millones de dólares en financiación inicial" (Presione soltar). Archivado desde el original el 10 de mayo de 2019.
  81. ^ "Julia Computing recibió una subvención de 910.000 dólares de la Fundación Alfred P. Sloan, incluidos 160.000 dólares para la diversidad STEM". juliacomputing.com . 26 de junio de 2017. Archivado desde el original el 3 de agosto de 2020 . Consultado el 28 de julio de 2020 .
  82. ^ "DIFERENCIAR: inteligencia de diseño que fomenta una reducción de energía formidable (y) permite mejoras tecnológicas avanzadas novedosas y totalmente impactantes" (PDF) .
  83. ^ "Julia Computing recauda 24 millones de dólares en una ronda de financiación liderada por Dorilton Ventures". Reuters . 19 de julio de 2021.
  84. ^ "Williams da la bienvenida a Julia Computing como socia de Dorilton Ventures". www.williamsf1.com (Comunicado de prensa) . Consultado el 2 de septiembre de 2021 .
  85. ^ "JuliaHub recibe una inversión estratégica de 13 millones de dólares de AE ​​Industrial Partners HorizonX". info.juliahub.com (Presione soltar). 27 de junio de 2023 . Consultado el 30 de junio de 2023 .
  86. ^ "El idioma de Julia" (sitio web oficial). Propósito general [..] Julia le permite escribir interfaces de usuario, compilar estáticamente su código o incluso implementarlo en un servidor web.
  87. ^ Green, Todd (10 de agosto de 2018). "Programación de sistemas de bajo nivel en Julia de alto nivel". Archivado desde el original el 5 de noviembre de 2018 . Consultado el 5 de noviembre de 2018 .
  88. ^ Moss, Robert (26 de junio de 2015). "Uso de Julia como lenguaje de especificación para el sistema de prevención de colisiones aéreas de próxima generación" (PDF) . Archivado desde el original el 1 de julio de 2015 . Consultado el 29 de junio de 2015 . Sistema de prevención de colisiones aéreas
  89. ^ ab Biggs, Benjamín; McInerney, Ian; Kerrigan, Eric C.; Constantinides, George A. (2022). "Síntesis de alto nivel utilizando el lenguaje Julia". arXiv : 2201.11522 [cs.SE]. Presentamos un prototipo de herramienta Julia HLS, escrita en Julia, que transforma el código de Julia a VHDL.
  90. ^ "Anuncio de Dash para Julia". tramalmente (Presione soltar). 26 de octubre de 2020 . Consultado el 2 de septiembre de 2021 .
  91. ^ Anaya, Richard (28 de abril de 2019). "Cómo crear un servidor HTTP multiproceso en Julia". Medio . Consultado el 25 de julio de 2019 . En resumen, aunque Julia carece de una solución de servidor multiproceso actualmente lista para usar, podemos aprovechar fácilmente sus características de distribución de procesos y una tecnología de equilibrio de carga muy popular para obtener una utilización completa de la CPU para el manejo de HTTP.
  92. ^ Anthoff, David (1 de junio de 2019). "Instalación de Node.js para julia". GitHub . Consultado el 25 de julio de 2019 .
  93. ^ "Traducir Julia a JavaScript". JuliaGizmos. 7 de julio de 2019 . Consultado el 25 de julio de 2019 .
  94. ^ Fischer, Keno (22 de julio de 2019). "Ejecutando a Julia en Wasm". GitHub . Consultado el 25 de julio de 2019 .
  95. ^ AppBundler.jl, PeaceFounder, 13 de diciembre de 2023 , consultado el 18 de diciembre de 2023
  96. ^ "[ANN] AppBundler.jl: combine su aplicación GUI de Julia". Lenguaje de programación Julia . 30 de noviembre de 2023 . Consultado el 18 de diciembre de 2023 .
  97. ^ ab "Aprenda Julia en Y minutos". Learnxiny Minutes.com . Consultado el 31 de mayo de 2017 .
  98. ^ PythonCall y JuliaCall, JuliaPy, 29 de octubre de 2023 , consultado el 30 de octubre de 2023
  99. ^ RCall.jl, JuliaInterop, 16 de octubre de 2023 , consultado el 30 de octubre de 2023
  100. ^ CxxWrap, JuliaInterop, 28 de octubre de 2023 , consultado el 30 de octubre de 2023
  101. ^ "Julia y Spark, mejor juntos". juliacomputing.com . 2 de junio de 2020. Archivado desde el original el 14 de julio de 2020.
  102. ^ Foster, Claire (23 de octubre de 2023), SQLREPL.jl , consultado el 31 de octubre de 2023
  103. ^ Noh, WooKyoung (18 de octubre de 2023), Octo.jl , consultado el 31 de octubre de 2023
  104. ^ "Guía de uso · FunSQL.jl". Mechanicalrabbit.github.io . Consultado el 31 de octubre de 2023 .
  105. ^ "Uso de Julia con bases de datos Oracle". 21 de octubre de 2022.
  106. ^ Short, Tom (30 de octubre de 2023), StaticCompiler , consultado el 30 de octubre de 2023
  107. ^ "El Julia REPL · El lenguaje Julia". docs.julialang.org . Consultado el 22 de septiembre de 2019 .
  108. ^ "Presentamos a Julia/The REPL - Wikilibros, libros abiertos para un mundo abierto". es.wikibooks.org . Consultado el 22 de septiembre de 2019 . puedes instalar el paquete Julia OhMyREPL.jl [..] que te permite personalizar la apariencia y el comportamiento del REPL
  109. ^ "Primeros pasos · El lenguaje Julia". docs.julialang.org . Consultado el 15 de agosto de 2018 .
  110. ^ Consulte también: docs.julialang.org/en/v1/manual/strings/ para conocer la interpolación de cadenas y el string(greet, ", ", whom, ".\n")ejemplo de las formas preferidas de concatenar cadenas. Julia tiene las funciones println e print, pero también una macro @printf (es decir, no en forma de función) para eliminar la sobrecarga de formato en tiempo de ejecución (a diferencia de la misma función en C).
  111. ^ "Documentación de Julia". JuliaLang.org . Consultado el 18 de noviembre de 2014 .
  112. ^ "Compatibilidad con Unicode 15.1 por stevengj · Solicitud de extracción n.° 253 · JuliaStrings/utf8proc". GitHub . Consultado el 22 de enero de 2024 .
  113. ^ "compatible con Unicode 15 a través de utf8proc 2.8 de stevengj · Solicitud de extracción n.° 47392 · JuliaLang/julia". GitHub . Consultado el 3 de noviembre de 2022 .
  114. ^ "Proyecto Jupyter".
  115. ^ Boudreau, Emmett (16 de octubre de 2020). "¿Podría Plutón ser un verdadero reemplazo de Jupyter?". Medio . Consultado el 8 de diciembre de 2020 .
  116. ^ Machlis, Sharon (27 de julio de 2022). "RStudio cambia de nombre a Posit y amplía su enfoque para incluir Python y VS Code". InfoMundo . Consultado el 18 de enero de 2023 .
  117. ^ "¡Atención! Quarto llegó para quedarse. Combine inmediatamente R y Python en su próximo documento: una extensión en una publicación reciente". ds-economía . 20 de julio de 2022 . Consultado el 18 de enero de 2023 .
  118. ^ Foster, Chris (4 de abril de 2022). "SQLREPL.jl". GitHub . Consultado el 27 de septiembre de 2022 .
  119. ^ "Primeros pasos · RCall.jl". juliainterop.github.io . Consultado el 27 de septiembre de 2022 .
  120. ^ "Inicio · LibPQ.jl". invenia.github.io . Consultado el 8 de noviembre de 2022 .
  121. ^ ab "Inicio · FunSQL.jl". docs.juliahub.com . Consultado el 8 de noviembre de 2022 .
  122. ^ Hood, Doug (21 de octubre de 2022). "Uso de Julia con bases de datos Oracle".
  123. ^ "Genie Builder - Mercado de Visual Studio". mercado.visualstudio.com . Consultado el 8 de noviembre de 2022 .
  124. ^ "Cómo crear su primera aplicación web en Julia con Genie.jl 🧞‍♂️". freeCodeCamp.org . 1 de febrero de 2022 . Consultado el 8 de noviembre de 2022 .
  125. ^ "JuliaRegistros / General". GitHub . Consultado el 30 de abril de 2020 .
  126. ^ "Pkg.jl - Artefactos" . Consultado el 4 de junio de 2020 .
  127. ^ "Pkg.jl - Registros" . Consultado el 30 de abril de 2020 .
  128. ^ Bezanson, Jeff (6 de junio de 2019). "JeffBezanson/femtolisp". GitHub . Consultado el 16 de junio de 2019 .
  129. ^ "JuliaSintaxis". El lenguaje de programación Julia. 28 de agosto de 2022 . Consultado el 28 de agosto de 2022 .
  130. ^ "Habilite JuliaSyntax.jl como analizador de Julia alternativo mediante c42f · Solicitud de extracción n.° 46372 · JuliaLang/julia". GitHub . Consultado el 28 de agosto de 2022 .
  131. ^ "Se ha lanzado Julia v1.7.3". Julia Lang . 25 de mayo de 2022 . Consultado el 26 de mayo de 2022 .
  132. ^ "Problema de seguimiento de Darwin/ARM64 · Número 36617 · JuliaLang/julia". GitHub . Consultado el 8 de diciembre de 2020 .
  133. ^ "Descargas de Julia". julialang.org . Consultado el 17 de mayo de 2019 .
  134. ^ "julia/arm.md". El idioma de Julia. 7 de octubre de 2021 . Consultado el 15 de mayo de 2022 . Hay disponible una lista de problemas conocidos de ARM.
  135. ^ "JuliaGPU". juliagpu.org . Consultado el 16 de noviembre de 2022 . Casi 300 paquetes dependen directa o indirectamente de las capacidades de GPU de Julia.
  136. ^ "Julia sobre las TPU". JuliaTPU. 26 de noviembre de 2019 . Consultado el 29 de noviembre de 2019 .
  137. ^ "Presentación: oneAPI.jl ⋅ JuliaGPU". juliagpu.org . Consultado el 6 de septiembre de 2021 .
  138. ^ "AMD ROCm · JuliaGPU". juliagpu.org . Consultado el 20 de abril de 2020 .
  139. ^ "Construya Julia para RaspberryPi Zero". Esencia . Consultado el 14 de agosto de 2020 .
  140. ^ "JuliaBerry: Julia en la Raspberry Pi". juliaberry.github.io . Consultado el 14 de agosto de 2020 .
  141. ^ Giordano, Mosè (29 de septiembre de 2022). "Julia sobre Fugaku (23 de julio de 2022)". GitHub . Consultado el 8 de noviembre de 2022 .
  142. ^ "Julia disponible en Raspbian en Raspberry Pi". Julia trabaja en todas las variantes de Pi, recomendamos usar el Pi 3.
  143. ^ "Lenguaje Julia para Raspberry Pi". Fundación Raspberry Pi . 12 de mayo de 2017.
  144. ^ "Ejecutando Julia baremetal en un Arduino". seelengrab.github.io . Consultado el 24 de mayo de 2022 .
  145. ^ Sukera (31 de julio de 2023), AVRDevices.jl , consultado el 5 de agosto de 2023
  146. ^ Chen, Jiahao. "Jiahao Chen". Jiahao Chen . Consultado el 23 de febrero de 2023 .
  147. ^ "'Por qué creamos Julia 'cumple diez años - JuliaHub ". juliahub.com . Consultado el 16 de noviembre de 2022 .
  148. ^ "Boletín de enero de 2022 - Estadísticas de crecimiento de Julia - Julia Computing". juliacomputing.com . Consultado el 26 de enero de 2022 .
  149. ^ "Presentación de Braket.jl - Computación cuántica con Julia". Comunidad Julia 🟣 . 15 de noviembre de 2022 . Consultado el 23 de febrero de 2023 . Casi todas las características del SDK de Python se reimplementan en Julia; para aquellas pocas que no lo están, también proporcionamos un paquete subsidiario, PyBraket.jl, que le permite traducir objetos de Julia a sus equivalentes de Python y llamar al SDK de Python.
  150. ^ "Comenzando con Julia en Amazon SageMaker: guía paso a paso" (PDF) . Mayo de 2020.
  151. ^ "Hacia el uso de Julia para aplicaciones en tiempo real en ASML JuliaCon 2022". pretalx.com . Consultado el 23 de febrero de 2023 .
  152. ^ "Inicio - Clima". CliMA – Alianza para el modelado climático . Consultado el 18 de junio de 2023 .
  153. ^ "Julia Computing brinda soporte para la computación con GPU NVIDIA en servidores con tecnología Arm: JuliaHub". juliahub.com (Comunicado de prensa) . Consultado el 16 de noviembre de 2022 .
  154. ^ "Julia para el minitaller HEP". indico.cern.ch . 27 de septiembre de 2021 . Consultado el 23 de agosto de 2022 . Julia y la primera observación de Ω - _b → Ξ + _c K - π -
  155. ^ Mikhasenko, Misha (29 de julio de 2022). "Tres cuerpos de decadencia". GitHub . Consultado el 23 de agosto de 2022 .
  156. ^ Mikhasenko, Misha (julio de 2021). "Julia para espectroscopia QCD" (PDF) . indico.cern.ch . Consultado el 23 de agosto de 2022 . Resumen: Julia está lista para usarse en análisis HEP de física.
  157. ^ "JuliaHEP/UnROOT.jl". JuliaHEP. 19 de agosto de 2022 . Consultado el 23 de agosto de 2022 .
  158. ^ "Julia · Buscar · GitLab". GitLab . Consultado el 23 de agosto de 2022 .
  159. ^ "Commits · master · sft / lcgcmake · GitLab". GitLab . Consultado el 23 de agosto de 2022 . pasar la versión de julia a 1.7.3
  160. ^ Modelado de la dinámica de separación de naves espaciales en Julia - Jonathan Diegelman , consultado el 6 de septiembre de 2021
  161. ^ Circuitscape/Circuitscape.jl, Circuitscape, 25 de febrero de 2020 , consultado el 26 de mayo de 2020
  162. ^ "Conservación a través de la codificación: cinco preguntas con Viral Shah | Dirección de Misión Científica". ciencia.nasa.gov . Archivado desde el original el 25 de mayo de 2020 . Consultado el 26 de mayo de 2020 .
  163. ^ "Julia en la naturaleza - Julia Data Science". juliadatascience.io . Consultado el 12 de septiembre de 2022 .
  164. ^ "Siete planetas rocosos TRAPPIST-1 pueden estar hechos de material similar". Exploración de exoplanetas: planetas más allá de nuestro sistema solar . Consultado el 6 de octubre de 2022 .
  165. ^ Julia en Investigación en Astronomía y Astrofísica | Eric B. Ford | JuliaCon 2022 , consultado el 6 de octubre de 2022.
  166. ^ JuliaSpace/SatelliteToolbox.jl, JuliaSpace, 20 de mayo de 2020 , consultado el 26 de mayo de 2020
  167. ^ Hobbs, Kerianne (diciembre de 2022). "Año de la autonomía en los glaciares de Alaska, el vuelo, la órbita terrestre, el espacio cislunar y Marte". Resumen del año aeroespacial de América. pag. 48. El equipo de pruebas de vuelo pudo demostrar... un vehículo de despegue y aterrizaje vertical con sistemas de propulsión de combustible tanto eléctricos como convencionales a bordo. El [sistema aéreo sin tripulación] pudo planificar y ejecutar estas misiones de forma autónoma utilizando hardware a bordo. Fue la primera vez que el lenguaje de programación Julia se utilizó en el hardware integrado: los algoritmos se precompilaron con anticipación.
  168. ^ "Estudio de caso: JuliaHub". juliahub.com . Consultado el 10 de febrero de 2023 .
  169. ^ "Pumas-AI". Pumas-AI . Consultado el 10 de febrero de 2023 .
  170. ^ "Versión v1.3.0 · FRBNY-DSGE/DSGE.jl". GitHub . Consultado el 3 de enero de 2022 . Nuevas subespecciones del Modelo 1002 para estimar el DSGE con shocks de COVID-19
  171. ^ "Casos de uso de finanzas y economía". Lenguaje de programación Julia . 2 de mayo de 2023 . Consultado el 4 de mayo de 2023 .
  172. ^ ab D'Cunha, Suparna Dutt (20 de septiembre de 2017). "Cómo un nuevo lenguaje de programación creado por cuatro científicos ahora lo utilizan las empresas más grandes del mundo". Forbes . Archivado desde el original el 1 de octubre de 2022 . Consultado el 1 de octubre de 2022 .
  173. ^ "Julia por la seguridad electoral". Julia Forem. 23 de septiembre de 2022 . Consultado el 27 de septiembre de 2022 .
  174. ^ "Premio Nobel Thomas J. Sargent - JuliaHub". juliahub.com . Consultado el 10 de febrero de 2023 .

Otras lecturas

enlaces externos