Julia es un lenguaje de programación dinámico de propósito general . Como lenguaje de alto nivel , entre los aspectos distintivos de su diseño se incluyen un sistema de tipos con polimorfismo paramétrico , el uso de despacho múltiple como paradigma de programación central , compilación justo a tiempo y una implementación de recolección de basura paralela . Cabe destacar que Julia no admite clases con métodos encapsulados , sino que se basa en los tipos de todos los argumentos de una función para determinar qué método se llamará.
Por defecto, Julia se ejecuta de forma similar a los lenguajes de scripting, utilizando su entorno de ejecución, y permite interacciones , [ 20 ] pero los programas de Julia también se pueden compilar en pequeños ejecutables binarios independientes (o en pequeñas bibliotecas para, por ejemplo, Python), con, por ejemplo, el compilador JuliaC.jl . [ 21 ] [ 22 ] [ 23 ] [ 24 ]
Los programas de Julia pueden reutilizar bibliotecas de otros lenguajes, y viceversa. Julia es interoperable con C , C++ , Fortran , Rust , Python y R. Además, algunos paquetes de Julia incluyen enlaces para ser utilizados como bibliotecas desde Python y R.
Julia cuenta con el respaldo de herramientas para programadores como los IDE (ver más abajo) y de cuadernos como Pluto.jl, Jupyter y, desde 2025, Google Colab ofrece soporte nativo oficial para Julia.
Julia se utiliza a veces en sistemas embebidos (por ejemplo, se ha utilizado en un satélite en el espacio en un Raspberry Pi Compute Module 4; las Raspberry Pi de 64 bits funcionan mejor con Julia, y Julia es compatible con Raspbian ). [ 25 ]
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 a la vez de alto nivel y rápido. El 14 de febrero de 2012, el equipo lanzó un sitio web con una entrada de blog que explicaba la misión del lenguaje. [ 4 ] En una entrevista con InfoWorld en abril de 2012, Karpinski dijo sobre el nombre del lenguaje, Julia: "En realidad no hay una buena razón. Simplemente parecía un nombre bonito". [ 26 ] Bezanson dijo que eligió el nombre por recomendación de un amigo, [ 27 ] y años después escribió:
¿Quizás Julia significa " El ceceo poco común de Jeff está automatizado"? [ 28 ]
La sintaxis de Julia es estable desde la versión 1.0 de 2018, y Julia ofrece una garantía de retrocompatibilidad para la versión 1.x, así como una promesa de estabilidad para la API documentada (estable) . En los años anteriores, durante el desarrollo inicial previo a la versión 0.7, la sintaxis (y la semántica) se modificaban en las nuevas versiones. Todo el ecosistema (de paquetes registrados) utiliza la sintaxis nueva y mejorada, y en la mayoría de los casos se basa en nuevas API que se han añadido periódicamente, y en algunos casos, en pequeñas adiciones sintácticas que se han incorporado de forma compatible con versiones futuras, como en Julia 1.7.
En los 10 años transcurridos desde el lanzamiento de Julia pre-1.0 en 2012, la comunidad ha crecido. El ecosistema de paquetes de Julia cuenta con más de 11,8 millones de líneas de código (incluyendo documentación y pruebas). [ 29 ] La conferencia académica JuliaCon para usuarios y desarrolladores de Julia se celebra anualmente desde 2014. JuliaCon2020 [ 30 ] recibió a más de 28.900 espectadores únicos, [ 31 ] y JuliaCon2021 batió todos los récords anteriores (con más de 300 presentaciones de JuliaCon2021 disponibles gratuitamente en YouTube, frente a las 162 del año anterior), y 43.000 espectadores únicos durante la conferencia. [ 32 ]
Tres de los co-creadores de Julia recibieron el Premio James H. Wilkinson de Software Numérico de 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 la solución de problemas de ciencias computacionales". [ 33 ] Asimismo, Alan Edelman, profesor de matemáticas aplicadas en el MIT , fue seleccionado para recibir el Premio Sidney Fernbach de la IEEE Computer Society de 2019 "por sus avances sobresalientes en computación de alto rendimiento, álgebra lineal y ciencias computacionales, y por sus contribuciones al lenguaje de programación Julia". [ 34 ]
La versión 0.3 se publicó en agosto de 2014. Tanto Julia 0.7 [ 35 ] como la versión 1.0 se publicaron el 8 de agosto de 2018. Julia 1.4 añadió sintaxis para la indexación genérica de matrices para manejar , por ejemplo, matrices basadas en 0. [ 36 ] El modelo de memoria también se cambió. [ 37 ] Julia 1.5, publicada en agosto de 2020, añadió soporte para depuración de grabación y reproducción , [ 38 ] para la herramienta rr de Mozilla . La publicación cambió el comportamiento en el REPL (a ámbito suave) al utilizado en Jupyter , pero mantiene la compatibilidad total con el código que no es REPL (que conserva el ámbito duro). [ 39 ] Julia 1.6 fue la publicación más grande desde la 1.0, y fue la versión de soporte a largo plazo (LTS) durante más tiempo . [ 40 ] Dado que el desarrollo de Julia 1.7 volvió a las versiones basadas en el tiempo , [ 41 ] y se lanzó en noviembre de 2021 con, por ejemplo, un nuevo generador de números aleatorios predeterminado y Julia 1.7.3 corrigió al menos un problema de seguridad. [ 42 ] Julia 1.8 agregó opciones para ocultar el código fuente al compilar el código fuente de Julia a ejecutables . [ 43 ] [ 44 ] Julia 1.9 ha agregado la capacidad de precompilar paquetes a código máquina nativo, realizado automáticamente; para mejorar la precompilación de paquetes se introdujo un nuevo paquete PrecompileTools.jl , para uso de los desarrolladores de paquetes. Julia 1.10 se lanzó el 25 de diciembre de 2023 con nuevas características como la recolección de basura paralela . [ 45 ] Julia 1.11 se lanzó el 7 de octubre de 2024 , y con ella 1.10.5 se convirtió en la siguiente versión de soporte a largo plazo (LTS) (es decir, esas se convirtieron en las únicas dos versiones compatibles), posteriormente reemplazada por 1.10.10 lanzada el 27 de junio, y 1.6 ya no es una versión LTS. Julia 1.11 agrega, por ejemplo, la nueva palabra clave para señalar una API pública segura (se recomienda a los usuarios de Julia que utilicen dicha API, no los componentes internos de Julia o los paquetes, y se recomienda a los autores de paquetes que utilicen la palabra clave, generalmente de forma indirecta, por ejemplo, prefijada con la macro, de Compat.jl , para también admitir versiones anteriores de Julia, al menos la versión LTS). public@compat
Julia 1.12 se lanzó el 7 de octubre de 2025 (y 1.12.5 el 9 de febrero de 2026 ), y con ella un paquete JuliaC.jljuliac que incluye el compilador que funciona con ella, para hacer ejecutables binarios bastante pequeños (mucho más pequeños que antes; mediante el uso de la nueva función denominada trimming). Julia 1.10 LTS es una rama que todavía cuenta con soporte oficial, pero la rama 1.11 también se ha mantenido después del lanzamiento de 1.12, con el lanzamiento de 1.11.8 y luego 1.11.9 el 8 de febrero de 2026. [ 46 ]
JuliaCon
Desde 2014, [ 47 ] la Comunidad Julia ha organizado una conferencia anual de Julia 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 [ 48 ] y la Universidad de Maryland, Baltimore. [ 49 ] La audiencia del evento ha crecido de unas pocas docenas de personas a más de 28 900 asistentes únicos [ 50 ] durante JuliaCon 2020, que tuvo lugar virtualmente. JuliaCon 2021 también tuvo lugar virtualmente [ 51 ] con discursos de apertura de los profesores William Kahan , el principal arquitecto del estándar de punto flotante IEEE 754 (que utilizan prácticamente todas las CPU y lenguajes, incluido Julia), [ 52 ] Jan Vitek, [ 53 ] Xiaoye Sherry Li y Soumith Chintala, cocreador de PyTorch . [ 54 ] JuliaCon alcanzó los 43 000 asistentes únicos y más de 300 presentaciones (todavía de acceso gratuito, además de las de años anteriores). JuliaCon 2022 también se celebrará virtualmente entre el 27 y el 29 de julio de 2022, por primera vez en varios idiomas, no solo en inglés.
Patrocinadores
El lenguaje Julia se convirtió en un proyecto patrocinado fiscalmente por NumFOCUS en 2014 en un esfuerzo por asegurar la sostenibilidad a largo plazo del proyecto. [ 55 ] Jeremy Kepner en el 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. [ 56 ] Mozilla , el creador 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", [ 57 ] es decir, para Firefox y otros navegadores web. [ 58 ] [ 59 ] [ 60 ] [ 61 ] El lenguaje Julia también cuenta con el apoyo de donantes individuales en GitHub. [ 62 ]
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 . [ 63 ] [ 64 ]
En junio de 2017, Julia Computing recaudó US$4.6 millones en financiación inicial de General Catalyst y Founder Collective, [ 65 ] ese mismo mes "recibió $910,000 de la Fundación Alfred P. Sloan para apoyar el desarrollo de código abierto de Julia, incluyendo $160,000 para promover la diversidad en la comunidad de Julia", [ 66 ] y en diciembre de 2019 la empresa obtuvo $1.1 millones de financiación 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 edificios". [ 67 ] En julio de 2021, Julia Computing anunció que había recaudado una ronda Serie A de $24 millones liderada por Dorilton Ventures, [ 68 ] que también es propietaria del equipo de Fórmula Uno Williams Racing , que se asoció con Julia Computing. El director comercial de Williams dijo: "Invertir en empresas que desarrollan tecnología en la nube de primera clase 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 integrar Julia Computing en el deporte tecnológicamente más avanzado del mundo". [ 69 ] En junio de 2023, JuliaHub recibió (nuevamente, ahora bajo 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 de riesgo formada en asociación con The Boeing Company , que utiliza Julia. [ 70 ] El trabajo de Tim Holy (en el Holy Lab de la Universidad de Washington en St. Louis ) en Julia 1.9 (mejora de la capacidad de respuesta) fue financiado por la Chan Zuckerberg Initiative .
Características del idioma
Julia es un lenguaje de programación de propósito general , [ 71 ] 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 , [ 72 ] como lenguaje de especificación , [ 73 ] herramienta de síntesis de alto nivel (HLS) (para hardware, por ejemplo, FPGA ), [ 74 ] y para programación web [ 75 ] tanto en el lado del servidor [ 76 ] [ 77 ] como del cliente [ 78 ] [ 79 ] .
Las principales características del idioma son:
- Despacho múltiple: proporciona la capacidad de definir el comportamiento de la función en diferentes combinaciones de tipos de argumentos.
- Sistema de tipos dinámico : tipos para documentación, optimización y distribución.
- Rendimiento similar al de lenguajes de tipado estático como C.
- Un gestor de paquetes integrado
- Macros tipo Lisp y otras funcionalidades de metaprogramación
- Diseñado para computación paralela y distribuida.
- Coroutines : enhebrado verde ligero
- Generación automática de código para diferentes tipos de argumentos.
- Conversiones y promociones ampliables para tipos numéricos y de otro tipo.
El despacho múltiple (también denominado multimétodos en Lisp; aunque son más lentos, la mayoría de los lenguajes no tienen una implementación optimizada) es una generalización del despacho simple , el mecanismo polimórfico utilizado en lenguajes comunes de programación orientada a objetos (POO), como Python , C++ , Java , JavaScript y Smalltalk , que utilizan herencia .
En Julia, todos los tipos concretos son subtipos de tipos abstractos, directa o indirectamente subtipos del Anytipo, que es la cima de la jerarquía de tipos. Los tipos concretos no pueden subtiparse como en otros lenguajes; en su lugar, se utiliza la composición (véase también herencia frente a subtipado ).
Por defecto, el entorno de ejecución de Julia debe estar preinstalado, ya que se ejecuta el código fuente proporcionado por el usuario. Alternativamente, las aplicaciones Julia (GUI) se pueden empaquetar rápidamente en un solo archivo con AppBundler.jl [ 24 ] para "crear aplicaciones Julia GUI en formatos modernos de instaladores de aplicaciones de escritorio. Utiliza Snap para Linux, App Installer para Windows y DMG para macOS como destinos. Empaqueta Julia completo dentro de la aplicación". [ 80 ] PackageCompiler.jl puede crear ejecutables independientes que no necesitan código fuente de Julia para ejecutarse. [ 20 ]
En Julia, todo es un objeto, al igual que en los lenguajes orientados a objetos; sin embargo, a diferencia de la mayoría de los lenguajes orientados a objetos, todas las funciones utilizan despacho múltiple para seleccionar métodos, en lugar de despacho único.
La mayoría de los paradigmas de programación se pueden implementar usando las macros y paquetes homoicónicos de Julia. Las macros sintácticas de Julia (usadas para metaprogramación ), al igual que las macros de 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 de macros de Julia es higiénico , pero también admite la captura deliberada cuando se desea (como para macros anafóricas ) usando 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 a despacho múltiple (que presenta una sintaxis infija en lugar de una sintaxis prefija similar a Lisp, mientras que en Julia "todo" [ 81 ] es una expresión ), y con Fortress , otro lenguaje de programación numérica (que presenta despacho múltiple y un sofisticado sistema de tipos paramétricos). Si bien Common Lisp Object System (CLOS) agrega despacho múltiple a Common Lisp, no todas las funciones son funciones genéricas.
En Julia, Dylan y Fortress, la extensibilidad es la característica predeterminada, y las funciones integradas del sistema son todas genéricas y extensibles. En Dylan, el despacho múltiple es tan fundamental como en Julia: todas las funciones definidas por el usuario e incluso las operaciones integradas básicas +son genéricas. Sin embargo, el sistema de tipos de Dylan no admite completamente los tipos paramétricos, que son más típicos de la línea de lenguajes ML . Por defecto, CLOS no permite el despacho en los tipos paramétricos de Common Lisp; dicha semántica de despacho extendida solo se puede agregar como una extensión a través del Protocolo de Metaobjetos de CLOS . Por diseño convergente, Fortress también presenta despacho múltiple en tipos paramétricos; sin embargo, a diferencia de Julia, Fortress es de tipado estático en lugar de dinámico, con fases de compilación y ejecución separadas. Las características del lenguaje se resumen en la siguiente tabla:
Un ejemplo de la extensibilidad de Julia es el paquete Unitful.jl , que añade 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 llamar a o desde otros lenguajes como Python , [ 82 ] C++ , [ 83 ] [ 84 ] Rust , R , [ 85 ] Java [ 86 ] y usar con SQL . [ 87 ] [ 88 ] [ 89 ] [ 90 ]
Opción de ejecutables compilados por separado
Julia se puede compilar a ejecutables binarios con PackageCompiler.jl . [ 20 ] (o con juliac). También se pueden escribir ejecutables más pequeños utilizando un subconjunto estático del lenguaje proporcionado por StaticCompiler.jl que no admite despacho en tiempo de ejecución (ni recolección de basura, ya que excluye el entorno de ejecución que lo proporciona). [ 91 ]
Interacción
La distribución oficial de Julia incluye un bucle interactivo (opcionalmente codificado por colores [ 92 ] ) de lectura-evaluación-impresión (REPL; "línea de comandos"), [ 93 ] con un historial de búsqueda, autocompletado con tabulador y modos de ayuda y shell dedicados , [ 94 ] que se pueden usar para experimentar y probar código rápidamente. [ 95 ] El siguiente fragmento representa un ejemplo de sesión de muestra donde las cadenas se concatenan automáticamente mediante : [ 96 ]println
julia> p ( x ) = 2 x ^ 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 ya que Julia admite una sintaxis reconocible!Dado que se admite Unicode , incluso para variables y funciones, puede definir, por ejemplo, la función Riemann xi de la siguiente manera:
usando funciones especiales : gamma como Γ , zeta como ζ ξ ( s ) = 1/2 * s * ( s - 1 ) * π ^ ( - s / 2 ) * Γ ( s / 2 ) * ζ ( s )Debido a su falta de legibilidad y compatibilidad con algunos editores, el uso de estos símbolos resulta controvertido, ya que los usuarios pueden creer que su uso es obligatorio. Esta percepción obliga a los desarrolladores a utilizar las letras Unicode/griegas correspondientes, especialmente en paquetes esenciales. Un ejemplo de esto es la función gamma , definida por el paquete con el símbolo ASCII . El código de ejemplo muestra que se pueden usar tanto el símbolo como su alias; los argumentos de palabra clave se pueden definir con ASCII o con símbolos griegos o Unicode. Se recomienda definir alias para todos los símbolos ASCII en los paquetes registrados, si es posible.
El REPL permite al usuario acceder al intérprete de comandos del sistema y al modo de ayuda, pulsando ;o ?después del indicador (antes de cada comando), respectivamente. También guarda el historial de comandos, incluso entre sesiones. [ 97 ] El código se puede probar dentro de la sesión interactiva de Julia o guardar en un archivo (con la .jlextensión idiomática considerada la mejor) y ejecutarlo desde la línea de comandos escribiendo: [ 81 ]
$ julia <nombre de archivo> Julia utiliza 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 con \iny luego presionar Tab ↹(es decir, usa códigos LaTeX , o también es posible simplemente copiando y pegando, por ejemplo, √ y ∛ son posibles para las funciones sqrt y cbrt ). Julia 12.x admite Unicode 16 [ 98 ] (Julia 1.13-DEV admite la última versión 17.0 [ 99 ] y admitirá la letra q en subíndice , [ 100 ] probablemente el primer lenguaje de programación en hacerlo) para los idiomas del mundo, incluso para el código fuente, por ejemplo, nombres de variables (mientras que se recomienda usar inglés para el código público, y por ejemplo nombres de paquetes).
Julia es compatible con Jupyter , un entorno de "cuadernos" interactivos en línea, [ 101 ] y Pluto.jl , un "cuaderno reactivo" (donde los cuadernos se guardan como archivos Julia puros), un posible reemplazo para el tipo anterior. [ 102 ] Además, el sistema de publicación Quarto de Posit (anteriormente de RStudio Inc.) es compatible con Julia, Python, R y JavaScript observable (estos lenguajes cuentan con soporte oficial de la empresa e incluso pueden combinarse en el mismo documento de cuaderno; otros lenguajes cuentan con soporte no oficial). [ 103 ] [ 104 ]
El REPL se puede extender con modos adicionales, y se ha hecho con paquetes, por ejemplo con un modo SQL , [ 105 ] para acceso a bases de datos, y RCall.jl agrega un modo R , para trabajar con el lenguaje R. [ 106 ]
La extensión de Julia para Visual Studio Code proporciona un entorno de desarrollo integrado con todas las funciones , que incluye "autocompletado dinámico incorporado, resultados en línea, panel de gráficos, REPL integrado, vista de variables, navegación de código y muchas otras características avanzadas del lenguaje" [ 107 ] , por ejemplo, es posible la depuración, el análisis estático y la creación de perfiles . [ 108 ] [ 109 ] [ 110 ] [ 111 ]
Utilizar con otros idiomas
Julia es en la práctica interoperable con otros lenguajes, de hecho, con la mayoría de los 20 lenguajes más populares. Julia se puede usar para llamar individualmente a funciones de bibliotecas compartidas, 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 , [ 112 ] MATLAB, C# (y otros lenguajes .NET con DotNET.jl , desde ellos con JdotNET ), JavaScript, Java (y otros lenguajes de JVM, como Scala con JavaCall.jl ). Y los paquetes para otros lenguajes permiten llamar a Julia, por ejemplo desde Python, R (actualmente es posible desde Julia 1.10.x [ 113 ] ), Rust , Ruby o C#. Por ejemplo, con juliacall (parte de PythonCall.jl ) para llamar desde Python y un paquete diferente, JuliaCall, para llamar, Julia hasta la versión 1.10.x, desde R. Julia también se ha utilizado para hardware, es decir, para compilar a VHDL , como herramienta de síntesis de alto nivel , por ejemplo, para FPGAs . [ 74 ]
Julia tiene paquetes que admiten lenguajes de marcado como HTML (y también para HTTP ), XML , JSON y BSON , y para bases de datos (como PostgreSQL, [ 114 ] Mongo, [ 115 ] Oracle, incluyendo TimesTen , [ 116 ] MySQL, SQLite, Microsoft SQL Server, [ 115 ] Amazon Redshift, Vertica, ODBC) y uso web en general. [ 117 ] [ 118 ]
Sistema de paquetes
Julia tiene un gestor de paquetes integrado e incluye un sistema de registro predeterminado. [ 119 ] Los paquetes se distribuyen con mayor frecuencia como código fuente alojado en GitHub , aunque también se pueden usar alternativas igualmente válidas. Los paquetes también se pueden instalar como binarios, utilizando artefactos. [ 120 ] El gestor de paquetes de Julia se utiliza para consultar y compilar paquetes, así como para gestionar entornos. Se admiten registros de paquetes federados, lo que permite agregar localmente otros registros además del oficial. [ 121 ]
Implementación
El núcleo de Julia está implementado en Julia y C , junto con C++ para la dependencia de LLVM . El análisis sintáctico, la reducción de código y el arranque se implementaron en FemtoLisp, un dialecto de Scheme , hasta la versión 1.10. [ 122 ] Desde esa versión se utiliza la nueva biblioteca estándar JuliaSyntax.jl pura de Julia para el análisis sintáctico (aunque todavía se puede elegir la anterior) [ 123 ] que mejora la velocidad y "mejora enormemente los mensajes de error del analizador en varios casos". [ 124 ] El proyecto de infraestructura del compilador LLVM se utiliza como backend para generar código 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 cuatro niveles de soporte; para más información, consulte la tabla de soporte oficial de Julia.
A partir de junio de 2026 Julia cuenta con soporte de nivel 1 (completo) para Windows y Linux de 32 y 64 bits , así como para macOS (tanto Intel x64 como Apple Silicon de forma nativa); soporte de nivel 2 (compila, puede fallar en algunas pruebas) para ARM64 en Windows y Linux, FreeBSD y emulación como WSL y x86-on-Arm; soporte de nivel 3 (puede compilar) para arquitecturas exóticas, como RISC , PowerPC y Linux musl; y soporte de nivel 4 (anterior) para ARM32. Julia también admite aceleradores de hardware a través de paquetes externos, con niveles oficiales: NVidia CUDA en Linux (nivel 1), CUDA en Windows, Apple Metal e Intel oneAPI en Linux (nivel 2), y AMD ROCm e Intel OneAPI en Windows (nivel 3). El procesamiento multihilo es compatible de forma nativa. [ 125 ]
Julia se ha desarrollado para varias plataformas ARM, desde pequeñas Raspberry Pi hasta la A64FX de Fugaku basada en ARM , que recientemente había sido la supercomputadora más rápida del mundo. [ 126 ]
Julia tiene soporte oficial (nivel 2) para ARMv8 de 64 bits, lo que significa que, por ejemplo, las computadoras Raspberry Pi de 64 bits (ARMv8-A) más recientes funcionan con Julia (por ejemplo, el Pi Compute Module 4 se ha utilizado en el espacio ejecutando código Julia). [ 127 ] Para muchas Pi, especialmente las más antiguas de 32 bits, ayuda la compilación cruzada del código Julia del usuario. Las Pi ARMv7 de 32 bits más antiguas funcionaban con versiones anteriores de Julia (todavía lo hacen, pero para las versiones más recientes de Julia, tenga en cuenta que se degradaron del nivel 3 a su nivel 4 actual: "Julia se compiló en algún momento del pasado, pero se sabe que actualmente no se compila"). La Raspberry Pi 1 original no tiene soporte oficial (ya que usa ARMv6 , que nunca tuvo un nivel de soporte; aunque se sabe que alguna versión reducida de Julia se ejecuta en esa Pi). [ 128 ] [ 129 ] Se sabe que las versiones Pico de la Pi no funcionan (ya que usan el perfil M de Arm, no se ejecutan bajo Linux; aún no son compatibles). Julia ahora es compatible con Raspbian [ 130 ] mientras que la compatibilidad es mejor para las Pi más nuevas, por ejemplo, aquellas con Armv7 o posterior; la compatibilidad con Julia es promovida por la Fundación Raspberry Pi . [ 131 ]
En algunas plataformas, Julia puede necesitar ser compilada desde el código fuente (por ejemplo, la Raspberry Pi original ), con opciones de compilación específicas, lo cual se ha hecho y existen binarios precompilados no oficiales (e instrucciones de compilación) disponibles. [ 132 ] [ 133 ]
Julia también se ha compilado para RISC-V de 64 bits (tiene soporte de nivel 3), [ 134 ] es decir, tiene algo de código de soporte en el núcleo de Julia.
Aunque Julia requiere un sistema operativo por defecto y no tiene soporte oficial para ejecutarse sin él, o en plataformas de sistemas embebidos como Arduino , el código Julia se ha ejecutado en él, con algunas limitaciones, por ejemplo, en un microcontrolador AVR Arduino de 8 bits ( ATmega328P ) a 16 MHz sin sistema operativo y con 2 KB de RAM (más 32 KB de memoria flash). [ 135 ] [ 136 ]
Adopción
Julia ha sido adoptada en muchas universidades, incluyendo el MIT , Stanford , UC Berkeley , la Universidad Técnica de Múnich , la Universidad Ferdowsi de Mashhad y la Universidad de Ciudad del Cabo . Grandes empresas privadas de diversos sectores han adoptado el lenguaje, entre ellas Amazon , IBM , JP Morgan AI Research [ 137 ] 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. [ 138 ] [ 139 ] [ 140 ]
Computación científica e ingeniería
- Amazon , para computación cuántica [ 141 ] y aprendizaje automático a través de Amazon SageMaker [ 142 ]
- ASML , para programación en tiempo real estricto con sus máquinas [ 143 ]
- La Alianza de Modelización Climática [ 144 ] para la modelización del cambio climático [ 145 ]
- CERN , para analizar datos del Gran Colisionador de Hadrones ( experimento LHCb ) [ 146 ] [ 147 ] [ 148 ] [ 149 ] [ 150 ] [ 151 ]
- La NASA y el Laboratorio de Propulsión a Chorro utilizan Julia para modelar la dinámica de separación de naves espaciales, [ 152 ] [ 153 ] [ 154 ] analizar conjuntos de datos de exoplanetas TRAPPIST , [ 155 ] [ 156 ] y analizar datos de fondo cósmico de microondas del Big Bang [ 157 ]
- El INPE brasileño , para misiones espaciales y simulaciones de satélites [ 158 ]
- Julia también ha volado al espacio, en un pequeño satélite, [ 127 ] utilizado para un módulo GPS. Y Julia también se ha utilizado para diseñar constelaciones de satélites . [ 159 ]
- Hardware integrado para planificar y ejecutar el vuelo de drones VTOL autónomos del Laboratorio de Investigación de la Fuerza Aérea de EE. UU. [ 160 ]
Productos farmacéuticos y desarrollo de fármacos
Julia se utiliza ampliamente para el desarrollo de fármacos en la industria farmacéutica, habiendo sido adoptada por Moderna , Pfizer , AstraZeneca , Procter & Gamble y United Therapeutics . [ 161 ] [ 162 ]
Economía, finanzas y ciencias políticas
- El Banco de la Reserva Federal de Nueva York ha utilizado Julia para la modelización macroeconómica desde 2015, incluidas las estimaciones de los choques de COVID-19 en 2021 [ 163 ].
- También el Banco de Canadá , banco central , para la modelización macroeconómica [ 164 ]
- BlackRock , el mayor gestor de activos del mundo, para el análisis de series temporales financieras [ 165 ]
- Aviva , la mayor aseguradora general del Reino Unido , para cálculos actuariales [ 165 ]
- Corporación Mitre , para la verificación de los resultados electorales publicados [ 166 ]
- Premio Nobel Thomas J. Sargent , por modelado macroeconométrico [ 167 ]
Véase también
- Comparación de paquetes estadísticos
- Programación diferenciable
- JuMP : un lenguaje de modelado algebraico para la optimización matemática integrado en Julia.
- Lista de software y herramientas de Julia
- Pitón
- Mojo
- Nim
Referencias
- ↑ "Suavizado de datos con las funciones @generated de Julia" . 5 de noviembre de 2015. Archivado del original el 4 de marzo de 2016. Consultado el 9 de diciembre de 2015.
Las funciones generadas de Julia están estrechamente relacionadas con el paradigma de programación multietapa (MSP) popularizado por Taha y Sheard, que generaliza las etapas de compilación/ejecución del programa al permitir múltiples etapas de ejecución de código diferida.
- ↑ "LICENSE.md" . GitHub . Septiembre de 2017. Archivado del original el 23 de enero de 2021. Consultado el 20 de octubre de 2014 .
- ↑ "Colaboradores de JuliaLang/julia" . GitHub . Archivado del original el 23 de enero de 2021. Consultado el 20 de octubre de 2014 .
- 1 2 3 4 5 Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman (febrero de 2012). "Por qué creamos Julia" . Sitio web de Julia . Archivado del original el 2 de mayo de 2020. Recuperado el 7 de febrero de 2013 .
- ↑ "Versión 1.12.6" . 10 de abril de 2026. Consultado el 11 de abril de 2026 .
- ↑ "Julia v1.10.11 ha sido publicada" . Lenguaje de programación Julia . 10 de marzo de 2026. Archivado del original el 11 de marzo de 2026. Consultado el 16 de marzo de 2026 .
- ↑ "Julia v1.13.0-beta3 ya está disponible" . Lenguaje de programación Julia . 17 de marzo de 2026. Archivado del original el 19 de marzo de 2026. Consultado el 17 de marzo de 2026 .
- 1 2 Engheim, Erik (17 de noviembre de 2017). "Los lenguajes de tipado dinámico no son lo que piensas" . Medium . Archivado del original el 5 de marzo de 2021. Recuperado el 27 de enero de 2021 .
- ↑ "Building Julia (Detailed)" . GitHub . Septiembre de 2017. Archivado del original el 16 de mayo de 2022. Recuperado el 16 de mayo de 2022 .
- ↑ "Descargar Julia" . julialang.org . Archivado del original el 26 de enero de 2021. Consultado el 15 de septiembre de 2025 .
- ↑ "NVIDIA CUDA ⋅ JuliaGPU" . juliagpu.org . Archivado del original el 27 de agosto de 2025. Consultado el 15 de septiembre de 2025 .
- ↑ "NVIDIA CUDA ⋅ JuliaGPU" . juliagpu.org . Archivado del original el 29 de enero de 2022. Consultado el 17 de enero de 2022.
Hemos demostrado que el rendimiento se aproxima e incluso a veces supera al de CUDA C en una selección de aplicaciones del conjunto de pruebas Rodinia.
- ↑ "Cómo funciona la emulación en Arm" . learn.microsoft.com . Archivado del original el 19 de noviembre de 2025. Consultado el 17 de noviembre de 2025 .
- ↑ "RISC-V (Linux) · El lenguaje Julia" . docs.julialang.org . Archivado del original el 14 de noviembre de 2025. Consultado el 24 de noviembre de 2025 .
- ↑ Stokel-Walker, Chris. "Julia: El lenguaje de Ricitos de Oro" . Increment . Stripe. Archivado del original el 9 de noviembre de 2020. Recuperado el 23 de agosto de 2020 .
- ↑ "JuliaCon 2016" . JuliaCon. Archivado del original el 4 de marzo de 2017. Recuperado el 6 de diciembre de 2016.
Ha codiseñado el lenguaje de programación Scheme, que ha influido enormemente en el diseño de Julia
. - 1 2 3 4 "Inicio · El lenguaje Julia" . docs.julialang.org . Archivado del original el 11 de enero de 2021. Recuperado el 15 de agosto de 2018 .
- ↑ "Programming Language Network" . GitHub. Archivado del original el 20 de diciembre de 2020. Consultado el 6 de diciembre de 2016 .
- ↑ Wolfram, Stephen (12 de febrero de 2013). "¿Cómo deberíamos llamar al lenguaje de Mathematica?—Escritos de Stephen Wolfram" . writings.stephenwolfram.com . Archivado del original el 4 de septiembre de 2024. Recuperado el 24 de junio de 2021 .
- 1 2 3 "GitHub - JuliaLang/PackageCompiler.jl: Compile su paquete Julia" . El lenguaje Julia. 14 de febrero de 2019. Archivado del original el 23 de marzo de 2019. Recuperado el 15 de febrero de 2019 .
- ↑ "JuliaLang/JuliaC.jl" . JuliaLang. 24 de noviembre de 2025. Archivado del original el 30 de noviembre de 2025. Consultado el 24 de noviembre de 2025 .
- ↑ "Compilación estática en Julia" . Lenguaje de programación Julia . 20 de noviembre de 2025. Consultado el 24 de noviembre de 2025 .
- ↑ " [ ANN ] AppBundler.jl - Empaqueta tu aplicación GUI de Julia" . Lenguaje de programación Julia . 13 de noviembre de 2025 . Consultado el 24 de noviembre de 2025 .
- 1 2 "AppBundler.jl" . PeaceFounder. 13 de diciembre de 2023. Archivado del original el 18 de diciembre de 2023. Recuperado el 18 de diciembre de 2023 .
- ↑ "Julia disponible en Raspbian para Raspberry Pi" . Archivado del original el 4 de mayo de 2017. Consultado el 6 de junio de 2017.
Julia funciona en todas las variantes de Pi; recomendamos usar la Pi 3.
- ↑ Krill, Paul (18 de abril de 2012). "El nuevo lenguaje Julia busca ser el C para científicos" . InfoWorld . Archivado del original el 13 de septiembre de 2014. Recuperado el 4 de julio de 2021 .
- ↑ Torre, Charles. "Stefan Karpinski y Jeff Bezanson sobre Julia" . Canal 9. MSDN. Archivado del original el 4 de diciembre de 2018. Recuperado el 4 de diciembre de 2018 .
- ↑ Bezanson, Jeff (2 de abril de 2021). "CAS Benchmarks" . discourse.julialang.org . Archivado del original el 2 de abril de 2021. Recuperado el 2 de abril de 2021 .
- ↑ "Boletín informativo de agosto de 2021: Julia Computing completa una ronda de financiación Serie A de 24 millones de dólares y el ex director ejecutivo de Snowflake, Bob Muglia, se une al consejo de administración de Julia Computing - JuliaHub" . juliahub.com . Archivado del original el 16 de noviembre de 2022. Consultado el 16 de noviembre de 2022 .
- ↑ "JuliaCon 2020" . JuliaCon 2020. Archivado del original el 12 de octubre de 2023. Consultado el 6 de octubre de 2023 .
- ↑ "Resumen de JuliaCon 2020" . julialang.org . 11 de agosto de 2020. Archivado del original el 30 de noviembre de 2020. Consultado el 20 de diciembre de 2020 .
- ↑ "Lo más destacado de JuliaCon 2021" . julialang.org . Archivado del original el 6 de septiembre de 2021. Consultado el 6 de septiembre de 2021 .
- ↑ «Los cocreadores del lenguaje Julia ganan el premio James H. Wilkinson de software numérico» . Noticias del MIT . 26 de diciembre de 2018. Archivado del original el 28 de enero de 2019. Consultado el 22 de enero de 2019 .
- ↑ "Alan Edelman del MIT recibe el prestigioso premio Sidney Fernbach de la IEEE Computer Society 2019 | IEEE Computer Society" (Comunicado de prensa). 1 de octubre de 2019. Archivado del original el 9 de octubre de 2019. Consultado el 9 de octubre de 2019 .
- ↑ "¿Qué es Julia 0.7? ¿Cómo se relaciona con la versión 1.0?" . JuliaLang . 26 de marzo de 2018. Archivado del original el 27 de julio de 2018. Consultado el 17 de octubre de 2018 .
- ↑ "support a [ begin ] for a [ firstindex(a) ] by stevengj · Pull Request #33946 · JuliaLang/julia" . GitHub . Consultado el 7 de abril de 2020 .
- ↑ quinnj. "Para estructuras con todos los campos isbits o isbitsunion, permitir que se almacenen en línea en matrices · Solicitud de extracción n.° 32448 · JuliaLang/julia" . GitHub . Archivado del original el 12 de abril de 2023. Recuperado el 7 de abril de 2020.
Sigo encontrándome con problemas que esto causa internamente porque fue un cambio incompatible que cambia las suposiciones hechas por algunos usuarios y la inferencia/generación de código.
- ↑ Fischer, Keno (2 de mayo de 2020). "Llegando en Julia 1.5: Viaje en el tiempo (Linux) Informes de errores" . julialang.org . Archivado del original el 5 de mayo de 2020. Recuperado el 5 de mayo de 2020.
La sobrecarga para el registro de procesos de un solo hilo es generalmente inferior a 2x, más a menudo 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). Registrar múltiples hilos o procesos que comparten memoria (en contraposición al uso de paso de mensajes basado en el kernel) es más difícil. [...] Como era de esperar, la prueba de hilos es la que más incumple con una sobrecarga de aproximadamente el 600%.
- ↑ "Ámbito de las variables · El lenguaje Julia" . docs.julialang.org . Archivado del original el 12 de enero de 2026. Consultado el 8 de enero de 2026 .
- ↑ Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; et al. "Julia 1.6 Highlights" . julialang.org . Archivado del original el 26 de marzo de 2021. Consultado el 26 de marzo de 2021 .
- ↑ "Actualización a OpenBLAS 0.3.13 · Solicitud de extracción n.° 39216 · JuliaLang/julia" . GitHub . Archivado del original el 23 de marzo de 2022. Recuperado el 26 de abril de 2021.
Dado que la versión 1.7 no está muy lejos (lanzamientos programados en adelante).
- ↑ " [ Zlib_jll ] Actualización a v1.2.12+3 por giordano · Solicitud de extracción n.° 44810 · JuliaLang/julia" . GitHub . Archivado del original el 25 de mayo de 2022 . Recuperado el 25 de mayo de 2022 .
- ↑ "Ofuscación de código | Uso de la opción '--strip-ir' en PackageCompiler.jl" . Lenguaje de programación Julia . 8 de diciembre de 2022. Archivado del original el 30 de noviembre de 2025. Consultado el 8 de enero de 2026 .
- ↑ "compilador: acelera el tiempo de arranque en un 25% por aviatesk · Solicitud de extracción n.° 41794 · JuliaLang/julia" . GitHub . Archivado del original el 3 de marzo de 2022. Recuperado el 3 de marzo de 2022.
El arranque tardaba unos 80 segundos anteriormente, pero en esta solicitud de extracción el tiempo se reduce a unos 60 segundos.
- ↑ "julia/HISTORY.md en master · JuliaLang/julia" . GitHub . Archivado del original el 3 de diciembre de 2024. Consultado el 1 de diciembre de 2024 .
- ↑ "Julia v1.11.9 ha sido publicada" . Lenguaje de programación Julia . 8 de febrero de 2026. Archivado del original el 9 de febrero de 2026. Consultado el 24 de febrero de 2026 .
- ↑ "JuliaCon 2014" . juliacon.org . Archivado del original el 15 de septiembre de 2024. Consultado el 20 de junio de 2021 .
- ↑ "JuliaCon 2016 en el MIT" . mit.edu . 18 de julio de 2016. Archivado del original el 24 de junio de 2021. Consultado el 20 de junio de 2021 .
- ↑ "JuliaCon 2019 en UMB" . technical.ly . 23 de julio de 2019. Archivado del original el 24 de junio de 2021. Consultado el 20 de junio de 2021 .
- ↑ "Resumen de JuliaCon 2020" . julialang.org . Archivado del original el 30 de noviembre de 2020. Consultado el 20 de junio de 2021 .
- ↑ "JuliaCon 2021" . Juliacon.org . Archivado del original el 20 de junio de 2021. Consultado el 20 de junio de 2021 .
- ↑ "Lo más destacado de JuliaCon 2021" . julialang.org . Archivado del original el 6 de septiembre de 2021. Consultado el 3 de marzo de 2022.
La JuliaCon de este año fue la más grande y mejor hasta la fecha, con más de 300 presentaciones disponibles gratuitamente en YouTube, más de 20 000 inscripciones y más de 43 000 espectadores únicos en YouTube durante la conferencia, frente a las 162 presentaciones, 10 000 inscripciones y 28 900 espectadores únicos en YouTube de la conferencia del año pasado.
- ↑ "Página principal de Jan Vitek" . janvitek.org . Archivado del original el 22 de enero de 2024. Consultado el 20 de junio de 2021 .
- ↑ "Página principal de Soumith Chintala" . soumith.ch . Archivado del original el 24 de junio de 2021. Consultado el 20 de junio de 2021 .
- ↑ "Julia: Proyecto patrocinado por NumFOCUS desde 2014" . numfocus.org . Archivado del original el 28 de septiembre de 2020. Consultado el 29 de septiembre de 2020 .
- ↑ "El lenguaje Julia" . julialang.org . Archivado del original el 26 de julio de 2019. Consultado el 22 de septiembre de 2019 .
- ↑ Cimpanu, Catalin. "Mozilla está financiando una forma de dar soporte a Julia en Firefox" . ZDNet . Archivado del original el 10 de julio de 2019. Consultado el 22 de septiembre de 2019 .
- ↑ "Julia en yoduro" . alpha.iodide.io . Archivado del original el 22 de septiembre de 2019. Consultado el 22 de septiembre de 2019 .
- ↑ "Complementos de lenguaje - Documentación de Iodide" . iodide-project.github.io . Archivado del original el 22 de septiembre de 2019. Consultado el 22 de septiembre de 2019 .
- ↑ "Mozilla Research Grants 2019H1" . Mozilla . Archivado del original el 9 de octubre de 2019. Recuperado el 22 de septiembre de 2019. Ejecutando intérpretes de lenguaje en WebAssembly .
Para aumentar aún más el acceso a las principales herramientas de ciencia de datos, buscamos 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.
- ↑ "Computación científica y comunicación alfabetizada para la web: iodide-project/iodide" . iodide. 20 de septiembre de 2019. Archivado del original el 24 de agosto de 2018. Recuperado el 22 de septiembre de 2019.
Imaginamos un flujo de trabajo futuro que le permita procesar 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 solo archivo, portátil, compartible y modificable.
- ↑ "Patrocinar el lenguaje Julia" . github.com . Archivado del original el 5 de julio de 2021. Consultado el 5 de junio de 2021 .
- ↑ "Sobre nosotros – Julia Computing" . juliacomputing.com . Archivado del original el 1 de septiembre de 2019. Consultado el 12 de septiembre de 2017 .
- ↑ "Sobre nosotros - JuliaHub" . juliahub.com . Archivado del original el 16 de noviembre de 2022. Consultado el 16 de noviembre de 2022 .
- ↑ «Julia Computing recauda 4,6 millones de dólares en financiación inicial» (Comunicado de prensa). Archivado del original el 10 de mayo de 2019.
- ↑ "Julia Computing recibe una subvención de 910 000 dólares de la Fundación Alfred P. Sloan, incluyendo 160 000 dólares para la diversidad en ciencia, tecnología, ingeniería y matemáticas" . juliacomputing.com . 26 de junio de 2017. Archivado del original el 3 de agosto de 2020. Consultado el 28 de julio de 2020 .
- ↑ "DIFFERENTIATE: Inteligencia de diseño que fomenta una formidable reducción de energía (y) permite mejoras tecnológicas avanzadas novedosas y totalmente impactantes" (PDF) . Archivado del original (PDF) el 15 de septiembre de 2024. Consultado el 19 de agosto de 2020 .
- ↑ "Julia Computing recauda 24 millones de dólares en una ronda de financiación liderada por Dorilton Ventures" . Reuters . 19 de julio de 2021. Archivado del original el 18 de agosto de 2021. Consultado el 18 de agosto de 2021 .
- ↑ "Williams da la bienvenida a Julia Computing como socio de Dorilton Ventures" . www.williamsf1.com (Comunicado de prensa). Archivado del original el 2 de septiembre de 2021. Consultado el 2 de septiembre de 2021 .
- ↑ "JuliaHub recibe una inversión estratégica de 13 millones de dólares de AE Industrial Partners HorizonX" . info.juliahub.com (Comunicado de prensa). 27 de junio de 2023. Archivado del original el 15 de septiembre de 2024. Consultado el 30 de junio de 2023 .
- ↑ "El lenguaje Julia" (sitio web oficial). Archivado del original el 21 de febrero de 2017. Recuperado el 9 de diciembre de 2016.
Propósito general [...] Julia te permite escribir interfaces de usuario, compilar estáticamente tu código o incluso implementarlo en un servidor web.
- ↑ Green, Todd (10 de agosto de 2018). "Programación de sistemas de bajo nivel en Julia de alto nivel" . Archivado del original el 5 de noviembre de 2018. Recuperado el 5 de noviembre de 2018 .
- ↑ 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 del original el 1 de julio de 2015. Recuperado el 29 de junio de 2015.
Sistema de prevención de colisiones aéreas
. - 1 2 Biggs, Benjamin; McInerney, Ian; Kerrigan, Eric C.; Constantinides, George A. (2022). "Síntesis de alto nivel usando el lenguaje Julia". arXiv : 2201.11522 [ cs.SE ].
Presentamos un prototipo de herramienta Julia HLS, escrita en Julia, que transforma código Julia a VHDL.
- ↑ "Anuncio de Dash for Julia" . plotly (Comunicado de prensa). 26 de octubre de 2020. Archivado del original el 2 de septiembre de 2021. Consultado el 2 de septiembre de 2021 .
- ↑ Anaya, Richard (28 de abril de 2019). "Cómo crear un servidor HTTP multihilo en Julia" . Medium . Archivado del original el 25 de julio de 2019. Recuperado el 25 de julio de 2019.
En resumen, aunque Julia carece actualmente de una solución de servidor multihilo 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.
- ↑ Anthoff, David (1 de junio de 2019). "Instalación de Node.js para Julia" . GitHub . Archivado del original el 4 de septiembre de 2024. Recuperado el 25 de julio de 2019 .
- ↑ "Traducir Julia a JavaScript" . JuliaGizmos. 7 de julio de 2019. Archivado del original el 28 de marzo de 2019. Consultado el 25 de julio de 2019 .
- ↑ Fischer, Keno (22 de julio de 2019). "Ejecutando Julia en wasm" . GitHub . Archivado del original el 21 de noviembre de 2020. Recuperado el 25 de julio de 2019 .
- ↑ " [ ANN ] AppBundler.jl - Empaqueta tu aplicación GUI de Julia" . Lenguaje de programación Julia . 30 de noviembre de 2023. Archivado del original el 4 de septiembre de 2024 . Consultado el 18 de diciembre de 2023 .
- 1 2 "Aprende Julia en Y minutos" . Learnxinyminutes.com . Archivado del original el 15 de agosto de 2018. Consultado el 31 de mayo de 2017 .
- ↑ "PythonCall y JuliaCall" . JuliaPy. 29 de octubre de 2023. Archivado del original el 31 de octubre de 2023. Consultado el 30 de octubre de 2023 .
- ↑ Cords, Clem (12 de noviembre de 2024). "Clemapfel/jluna" . GitHub . Archivado del original el 4 de diciembre de 2024. Recuperado el 26 de noviembre de 2024 .
- ↑ "CxxWrap" . JuliaInterop. 28 de octubre de 2023. Archivado del original el 31 de octubre de 2023. Consultado el 30 de octubre de 2023 .
- ↑ "RCall.jl" . JuliaInterop. 16 de octubre de 2023. Archivado del original el 30 de abril de 2019. Consultado el 30 de octubre de 2023 .
- ↑ "Julia y Spark, mejor juntas" . juliacomputing.com . 2 de junio de 2020. Archivado del original el 14 de julio de 2020.
- ↑ Foster, Claire (23 de octubre de 2023). "SQLREPL.jl" . GitHub . Archivado del original el 27 de septiembre de 2022. Recuperado el 31 de octubre de 2023 .
- ↑ Noh, WooKyoung (18 de octubre de 2023). "Octo.jl" . GitHub . Recuperado el 31 de octubre de 2023 .
- ↑ "Guía de uso · FunSQL.jl" . mechanicalrabbit.github.io . Archivado del original el 31 de octubre de 2023. Consultado el 31 de octubre de 2023 .
- ↑ "Uso de Julia con bases de datos Oracle" . 21 de octubre de 2022. Archivado del original el 8 de noviembre de 2022. Consultado el 8 de noviembre de 2022 .
- ↑ Short, Tom (30 de octubre de 2023). "StaticCompiler" . GitHub . Archivado del original el 31 de octubre de 2023. Recuperado el 30 de octubre de 2023 .
- ↑ "Preguntas sobre colores en REPL: nombres de variables, cómo visualizarlos y cómo configurar valores RGB" . Julia Programming Language . 14 de octubre de 2022. Archivado del original el 26 de septiembre de 2025. Consultado el 12 de septiembre de 2025 .
- ↑ "El REPL de Julia · El lenguaje Julia" . docs.julialang.org . Archivado del original el 22 de septiembre de 2019. Consultado el 22 de septiembre de 2019 .
- ↑ "Presentando Julia/The REPL - Wikibooks, libros abiertos para un mundo abierto" . en.wikibooks.org . Archivado del original el 23 de junio de 2019. Recuperado el 22 de septiembre de 2019.
Puedes instalar el paquete de Julia OhMyREPL.jl [...] que te permite personalizar la apariencia y el comportamiento del REPL.
- ↑ "Primeros pasos · El lenguaje Julia" . docs.julialang.org . Archivado del original el 10 de agosto de 2019. Consultado el 15 de agosto de 2018 .
- ↑ Véase también: docs.julialang.org/en/v1/manual/strings/ para la interpolación
de cadenas y el ejemplo de lasstring(greet, ", ", whom, ".\n")formas preferidas de concatenar cadenas. Julia tiene las funciones println y 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). - ↑ "Documentación de Julia" . JuliaLang.org . Archivado del original el 17 de diciembre de 2016. Consultado el 18 de noviembre de 2014 .
- ↑ "Soporte para Unicode 16 a través de utf8proc 2.10.0 por stevengj · Solicitud de extracción n.° 56925 · JuliaLang/julia" . GitHub . Consultado el 8 de enero de 2025 .
- ↑ "Soporte para Unicode 17 a través de utf8proc 2.11.0 por stevengj · Solicitud de extracción n.° 59534 · JuliaLang/julia" . GitHub . Archivado del original el 27 de septiembre de 2025. Recuperado el 11 de septiembre de 2025 .
- ↑ "Soporte para la q minúscula en superíndice por eschnett · Solicitud de extracción n.° 59544 · JuliaLang/julia" . GitHub . Archivado del original el 26 de septiembre de 2025. Recuperado el 12 de septiembre de 2025 .
- ↑ "Proyecto Jupyter" . Archivado del original el 29 de junio de 2017. Consultado el 19 de agosto de 2015 .
- ↑ Boudreau, Emmett (16 de octubre de 2020). "¿Podría Plutón ser un verdadero reemplazo para Jupyter?" . Medium . Archivado del original el 12 de abril de 2023 . Recuperado el 8 de diciembre de 2020 .
- ↑ Machlis, Sharon (27 de julio de 2022). "RStudio cambia su nombre a Posit y amplía su enfoque para incluir Python y VS Code" . InfoWorld . Archivado del original el 25 de enero de 2023. Consultado el 18 de enero de 2023 .
- ↑ "¡Atención! Quarto llegó para quedarse. Combina inmediatamente R y Python en tu próximo documento: una extensión de una publicación reciente" . ds-econ . 20 de julio de 2022. Archivado del original el 31 de enero de 2023. Consultado el 18 de enero de 2023 .
- ↑ Foster, Chris (4 de abril de 2022). "SQLREPL.jl" . GitHub . Archivado del original el 27 de septiembre de 2022. Recuperado el 27 de septiembre de 2022 .
- ↑ "Primeros pasos · RCall.jl" . juliainterop.github.io . Archivado del original el 4 de septiembre de 2024 . Consultado el 27 de septiembre de 2022 .
- ↑ "Julia en Visual Studio Code" . Archivado del original el 26 de mayo de 2023. Consultado el 26 de noviembre de 2024 .
- ↑ Holy, Tim (13 de septiembre de 2019). "GitHub - timholy/ProfileView.jl: Visualización de datos de perfilado de Julia" . GitHub . Archivado del original el 31 de enero de 2020. Recuperado el 22 de septiembre de 2019 .
- ↑ Gregg, Brendan (20 de septiembre de 2019). "GitHub - brendangregg/FlameGraph: Visualizador de trazas de pila" . GitHub . Archivado del original el 26 de septiembre de 2019. Recuperado el 22 de septiembre de 2019 .
- ↑ "Un intérprete y depurador de Julia" . julialang.org . Archivado del original el 10 de abril de 2019. Consultado el 10 de abril de 2019 .
- ↑ "Inicio · Rebugger.jl" . timholy.github.io . Archivado del original el 31 de marzo de 2019 . Recuperado el 10 de abril de 2019 .
- ↑ "Julia falla al instalar el módulo RCall" . Julia Programming Language . 21 de octubre de 2024. Archivado del original el 8 de diciembre de 2024. Consultado el 22 de octubre de 2024.
En mi caso, RCall se carga sin problemas en Julia 1.11 en macOS
. - ↑ "juliacall falla en julia 1.11 con 'símbolo indefinido: jl_stdout_obj' · Problema n.° 234 · Non-Contradiction/JuliaCall" . GitHub . Consultado el 22 de octubre de 2024 .
- ↑ "Inicio · LibPQ.jl" . invenia.github.io . Archivado del original el 8 de noviembre de 2022 . Recuperado el 8 de noviembre de 2022 .
- 1 2 "Inicio · FunSQL.jl" . docs.juliahub.com . Archivado del original el 8 de noviembre de 2022. Consultado el 8 de noviembre de 2022 .
- ↑ Hood, Doug (21 de octubre de 2022). "Uso de Julia con bases de datos Oracle" . Archivado del original el 8 de noviembre de 2022. Recuperado el 8 de noviembre de 2022 .
- ↑ "Genie Builder - Visual Studio Marketplace" . marketplace.visualstudio.com . Archivado del original el 8 de noviembre de 2022. Consultado el 8 de noviembre de 2022 .
- ↑ "Cómo crear tu primera aplicación web en Julia con Genie.jl" . freeCodeCamp.org . 1 de febrero de 2022. Archivado del original el 8 de noviembre de 2022. Consultado el 8 de noviembre de 2022 .
- ↑ "JuliaRegistries / General" . GitHub . Archivado del original el 3 de agosto de 2020. Consultado el 30 de abril de 2020 .
- ↑ "Pkg.jl - Artefactos" . Archivado del original el 2 de agosto de 2020. Consultado el 4 de junio de 2020 .
- ↑ "Pkg.jl - Registros" . Archivado del original el 13 de junio de 2020. Consultado el 30 de abril de 2020 .
- ↑ Bezanson, Jeff (6 de junio de 2019). "JeffBezanson/femtolisp" . GitHub . Archivado del original el 22 de diciembre de 2022. Recuperado el 16 de junio de 2019 .
- ↑ "JuliaSyntax" . El lenguaje de programación Julia. 28 de agosto de 2022. Archivado del original el 28 de agosto de 2022. Consultado el 28 de agosto de 2022 .
- ↑ "Habilitar JuliaSyntax.jl como analizador alternativo de Julia por c42f · Solicitud de extracción n.° 46372 · JuliaLang/julia" . GitHub . Archivado del original el 28 de agosto de 2022. Consultado el 28 de agosto de 2022 .
- ↑ "Multihilo" . Manual de Julia . Archivado del original el 1 de junio de 2026. Consultado el 7 de junio de 2026 .
- ↑ Giordano, Mosè (29 de septiembre de 2022). "Julia sobre Fugaku (2022-07-23)" . GitHub . Archivado del original el 8 de noviembre de 2022. Recuperado el 8 de noviembre de 2022 .
- 1 2 "Julia y la carga útil GPS a bordo del satélite Waratah Seed-1" . Lenguaje de programación Julia . 13 de diciembre de 2024. Archivado del original el 4 de marzo de 2025. Recuperado el 4 de febrero de 2025.
Volamos nuestra carga útil receptora GPS, Harry v3, en el cubesat Waratah Seed-1 6U [...] Julia también puede ejecutarse en Raspberry Pi CM4, el procesador que utilicé en nuestra computadora de carga útil GPS.
- ↑ "Compilación cruzada para ARMv6" . GitHub . Archivado del original el 31 de enero de 2021. Recuperado el 16 de mayo de 2015.
Creo que #10917 debería solucionar esto. La CPU utilizada allí
.Vuelva a abrirlo si no lo soluciona.
arm1176jzf-s - ↑ "La compilación ARM falla durante el arranque en Raspberry Pi 2" . GitHub . Consultado el 16 de mayo de 2015.
Puedo confirmar (FINALMENTE) que funciona en la Raspberry Pi 2 [...] Supongo que también podemos anunciar la compatibilidad alfa con ARM en la versión 0.4.
- ↑ "Julia disponible en Raspbian para Raspberry Pi" . Archivado del original el 4 de mayo de 2017. Consultado el 6 de junio de 2017.
Julia funciona en todas las variantes de Pi; recomendamos usar la Pi 3.
- ↑ "Lenguaje Julia para Raspberry Pi" . Fundación Raspberry Pi . 12 de mayo de 2017. Archivado del original el 2 de junio de 2017. Consultado el 6 de junio de 2017 .
- ↑ "Construir Julia para Raspberry Pi Zero" . Gist . Archivado del original el 1 de diciembre de 2020. Consultado el 14 de agosto de 2020 .
- ↑ "JuliaBerry: Julia en la Raspberry Pi" . juliaberry.github.io . Archivado del original el 8 de julio de 2020. Consultado el 14 de agosto de 2020 .
- ↑ "julia/doc/src/devdocs/build/riscv.md en master · alexfanqi/julia" . GitHub . Archivado del original el 9 de octubre de 2024. Consultado el 9 de octubre de 2024 .
- ↑ "Ejecutando Julia baremetal en un Arduino" . seelengrab.github.io . Archivado del original el 24 de mayo de 2022. Consultado el 24 de mayo de 2022 .
- ↑ Sukera (31 de julio de 2023). "AVRDevices.jl" . GitHub . Archivado del original el 5 de agosto de 2023. Recuperado el 5 de agosto de 2023 .
- ↑ Chen, Jiahao. "Jiahao Chen" . Jiahao Chen . Archivado del original el 23 de febrero de 2023. Recuperado el 23 de febrero de 2023 .
- ↑ "«Por qué creamos a Julia» cumple diez años . juliahub.com . 16 de febrero de 2022. Archivado del original el 16 de noviembre de 2022. Consultado el 16 de noviembre de 2022 .
- ↑ "Boletín informativo enero 2022 - Estadísticas de crecimiento de Julia - Julia Computing" . juliacomputing.com . Archivado del original el 26 de enero de 2022. Consultado el 26 de enero de 2022 .
- ↑ "ORNL presenta JACC para Julia portable de alto rendimiento para sistemas HPC" . hpcwire.com . Consultado el 24 de junio de 2026 .
- ↑ "Presentamos Braket.jl: computación cuántica con Julia" . Comunidad Julia 🟣 . 15 de noviembre de 2022. Archivado del original el 19 de junio de 2024. Consultado el 23 de febrero de 2023.
Casi todas las características del SDK de Python se han reimplementado en Julia; para las pocas que no lo están, también proporcionamos un paquete subsidiario, PyBraket.jl, que permite traducir objetos de Julia a sus equivalentes en Python y llamar al SDK de Python.
- ↑ "Primeros pasos con Julia en Amazon SageMaker: Guía paso a paso" (PDF) . Mayo de 2020. Archivado (PDF) del original el 9 de marzo de 2024. Consultado el 23 de febrero de 2023 .
- ↑ "Hacia el uso de Julia para aplicaciones en tiempo real en ASML JuliaCon 2022" . pretalx.com . 27 de julio de 2022. Archivado del original el 23 de febrero de 2023. Consultado el 23 de febrero de 2023 .
- ↑ "Inicio - CliMA" . CliMA – Alianza para la Modelización Climática . Archivado del original el 18 de junio de 2023. Consultado el 18 de junio de 2023 .
- ↑ "Julia Computing ofrece soporte para computación GPU NVIDIA en servidores con arquitectura Arm - JuliaHub" . juliahub.com (Comunicado de prensa). Archivado del original el 16 de noviembre de 2022. Consultado el 16 de noviembre de 2022 .
- ↑ "Julia para el mini-taller de física de altas energías" . indico.cern.ch . 27 de septiembre de 2021. Archivado del original el 11 de agosto de 2022. Recuperado el 23 de agosto de 2022.
Julia y la primera observación de Ω
−
_b → Ξ
+
_c K
−
π
−
- ↑ Mikhasenko, Misha (29 de julio de 2022). "ThreeBodyDecay" . GitHub . Archivado del original el 23 de agosto de 2022. Recuperado el 23 de agosto de 2022 .
- ↑ Mikhasenko, Misha (julio de 2021). "Julia para espectroscopia QCD" (PDF) . indico.cern.ch . Archivado (PDF) del original el 23 de agosto de 2022. Recuperado el 23 de agosto de 2022.
Resumen: Julia está lista para ser utilizada en análisis de física de altas energías.
. - ↑ "JuliaHEP/UnROOT.jl" . JuliaHEP. 19 de agosto de 2022. Archivado del original el 19 de junio de 2024. Consultado el 23 de agosto de 2022 .
- ↑ "Julia · Buscar · GitLab" . GitLab . Archivado del original el 23 de agosto de 2022. Consultado el 23 de agosto de 2022 .
- ↑ "Commits · master · sft / lcgcmake · GitLab" . GitLab . Archivado del original el 12 de abril de 2023. Recuperado el 23 de agosto de 2022.
Actualizar la versión de Julia a 1.7.3
- ↑ "Modelado de la dinámica de separación de naves espaciales en Julia - Jonathan Diegelman" . YouTube . 9 de marzo de 2021. Archivado del original el 6 de septiembre de 2021. Consultado el 6 de septiembre de 2021 .
- ↑ "Circuitscape/Circuitscape.jl" . Circuitscape. 25 de febrero de 2020. Archivado del original el 30 de julio de 2020. Consultado el 26 de mayo de 2020 .
- ↑ "Conservación a través de la codificación: 5 preguntas con Viral Shah | Dirección de Misiones Científicas" . science.nasa.gov . Archivado del original el 25 de mayo de 2020. Consultado el 26 de mayo de 2020 .
- ↑ "Julia en la naturaleza - Julia Data Science" . juliadatascience.io . Archivado del original el 12 de septiembre de 2022. Consultado el 12 de septiembre de 2022 .
- ↑ "Siete planetas rocosos TRAPPIST-1 podrían estar hechos de material similar" . Exploración de exoplanetas: planetas más allá de nuestro sistema solar . 21 de enero de 2021. Archivado del original el 6 de octubre de 2022. Consultado el 6 de octubre de 2022 .
- ↑ "Julia en la investigación astronómica y astrofísica | Eric B. Ford | JuliaCon 2022" . YouTube . 25 de julio de 2022. Archivado del original el 6 de octubre de 2022. Consultado el 6 de octubre de 2022 .
- ↑ "JuliaSpace/SatelliteToolbox.jl" . JuliaSpace. 20 de mayo de 2020. Archivado del original el 16 de junio de 2021. Consultado el 26 de mayo de 2020 .
- ↑ El lenguaje de programación Julia (1 de octubre de 2024). Diseño de constelaciones de satélites con Julia | Clement de Givry | JuliaCon 2024. Archivado del original el 4 de febrero de 2025. Recuperado el 4 de febrero de 2025 a través de YouTube.
- ↑ Hobbs, Kerianne (diciembre de 2022). "Año de la autonomía en los glaciares de Alaska, vuelo, órbita terrestre, espacio cislunar y Marte" . Aerospace America Year in Review. p. 48. Archivado del original el 19 de junio de 2024. Recuperado el 26 de enero de 2023.
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 no tripulado]
pudo planificar y ejecutar estas misiones de forma autónoma utilizando el hardware a bordo. Fue la primera vez que el lenguaje de programación Julia voló en el hardware integrado: los algoritmos se precompilaron con anticipación.
- ↑ "Estudio de caso - JuliaHub" . juliahub.com . Archivado del original el 10 de febrero de 2023. Consultado el 10 de febrero de 2023 .
- ↑ "Pumas-AI" . Pumas-AI . Archivado del original el 10 de febrero de 2023. Consultado el 10 de febrero de 2023 .
- ↑ "Versión v1.3.0 · FRBNY-DSGE/DSGE.jl" . GitHub . Archivado del original el 3 de enero de 2022. Consultado el 3 de enero de 2022.
Nuevas subespecificaciones del Modelo 1002 para estimar el DSGE con perturbaciones de COVID-19
. - ↑ "Casos de uso en finanzas y economía" . Lenguaje de programación Julia . 2 de mayo de 2023. Archivado del original el 4 de mayo de 2023. Consultado el 4 de mayo de 2023 .
- 1 2 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 del original el 1 de octubre de 2022. Recuperado el 1 de octubre de 2022 .
- ↑ "Julia por la seguridad electoral" . Julia Forem. 23 de septiembre de 2022. Archivado del original el 4 de septiembre de 2024. Consultado el 27 de septiembre de 2022 .
- ↑ "Premio Nobel Thomas J. Sargent - JuliaHub" . juliahub.com . Archivado del original el 10 de febrero de 2023. Consultado el 10 de febrero de 2023 .
Enlaces externos
- Documentación de Julia
Lecturas adicionales
- Nagar, Sandeep (2017). Introducción a la programación en Julia: Para ingenieros y científicos . Springer. ISBN 978-1-4842-3171-5.
- Bezanson, J; Edelman, A; Karpinski, S; Shah, VB (2017). "Julia: un nuevo enfoque de la computación numérica". Revisión SIAM . 59 (1): 65– 98. arXiv : 1411.1607 . CiteSeerX 10.1.1.760.8894 . doi : 10.1137/141000671 . S2CID 13026838 .
- Joshi, Anshul (2016). Julia para la ciencia de datos: explora el mundo de la ciencia de datos desde cero con Julia a tu lado . Packt. ISBN 978-1-78355-386-0.
- Tobin A. Driscoll y Richard J. Braun (agosto de 2022). Fundamentos de la computación numérica: Edición Julia . SIAM. ISBN 978-1-611977-00-4.
- CT Kelley (2022). Resolución de ecuaciones no lineales con métodos iterativos: solucionadores y ejemplos en Julia , SIAM. ISBN 978-1-611977-26-4.
- Kalicharan, Noel (2021). Julia - Bit by Bit . Temas de pregrado en informática. Springer. doi : 10.1007/978-3-030-73936-2 . ISBN 978-3-030-73936-2. S2CID 235917112 .
- Clemens Heitzinger (2022): Algoritmos con Julia , Springer, ISBN 978-3-031-16559-7.
- Kenneth Lange (junio de 2025): Algoritmos del libro (2.ª ed.), SIAM, ISBN 978-1-61197-838-4.
Enlaces externos
- Sitio web oficial
- https://juliahub.com
- Julia en GitHub
- Software de 2012
- lenguajes de programación de matrices
- Interfaz de portátil
- Software multiplataforma
- Software de minería de datos y aprendizaje automático
- Lenguajes de programación centrados en datos
- Lenguajes de programación de tipado dinámico
- Compiladores libres y de código abierto
- Intérpretes de código abierto y libre
- Bibliotecas informáticas gratuitas
- Software gratuito para análisis de datos
- Software gratuito para la visualización de datos e información.
- Software libre programado en C
- Software libre programado en Julia
- Proyectos de software libre
- Software estadístico gratuito
- Lenguajes funcionales
- Lenguajes de programación de alto nivel
- lenguajes de programación homoicónicos
- Familia de lenguajes de programación Lisp
- Lenguajes de programación multiparadigma
- Software de análisis numérico para Linux
- Software de análisis numérico para macOS
- Software de análisis numérico para Windows
- Bibliotecas numéricas
- Álgebra lineal numérica
- Lenguajes de programación numérica
- Lenguajes de programación orientados a objetos
- Computación paralela
- Lenguajes de programación procedimental
- Lenguajes de programación
- Lenguajes de programación creados en 2012
- Software que utiliza la licencia MIT.
- Lenguajes de programación estadística
- Lenguajes de programación orientados a texto
- Lenguajes de programación que admiten unidades de medida