fbpx
Wikipedia

Julia (lenguaje de programación)

Julia es un lenguaje de programación homoicónico[6]​, multiplataforma y multiparadigma de tipado dinámico de alto nivel y alto desempeño para la computación genérica, técnica y científica, con una sintaxis similar a la de otros entornos de computación similares. El nombre del lenguaje Julia fue una ocurrencia de los creadores.

julia
Desarrollador(es)
Jeff Bezanson, Stefan Karpinski, Viral B. Shah, y otros contribuidores
https://julialang.org/
Información general
Extensiones comunes .jl
Paradigma Lenguaje de programación multiparadigma: Multiple dispatch ("Programación orientada a objetos"), Programación por procedimientos, functional, meta, multietapas
Apareció en 2012[1]
Diseñado por Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah
Última versión estable 1.5.1[2](25 de agosto de 2020 (1 año y 24 días))
Última versión en pruebas 1.5.2[3]
Sistema de tipos Fuertemente tipado, dinámico, nominativo, parametrico
Influido por C, Lisp, Lua,[4]Mathematica (estrictamente por Wolfram Language[5]​), MATLAB, Perl,[4]Python, R, Ruby, Scheme
Sistema operativo Linux, macOS, Windows y una comunidad brinda soporte para FreeBSD
Licencia MIT (core)

Dispone de un compilador avanzado (JIT), mecanismos para la ejecución en paralelo y distribuida, además de una extensa biblioteca de funciones matemáticas. La biblioteca, desarrollada fundamentalmente en Julia, también contiene código desarrollado en C o Fortran,[7]​ para el álgebra lineal, generación de números aleatorios, procesamiento de señales, y procesamiento de cadenas. Adicionalmente, la comunidad de desarrolladores de Julia contribuye con la creación y distribución de paquetes externos a través del gestor de paquetes integrado de Julia a un paso acelerado. IJulia es el resultado de la colaboración entre las comunidades de IPython y Julia. Proporciona una potente interfaz gráfica basada en el navegador para Julia.

Historia

Julia se inició en el año 2009, por Jeff Bezanson, Stefan Karpinski, Viral B. Shah y Alan Edelman, quienes se propusieron crear un lenguaje libre que fuera rápido y de alto nivel. El 14 de febrero de 2012, el equipo lanzó un sitio web que explica porque fue creado el idioma.[8]​ En una entrevista con InfoWorld en abril de 2012, Karpinski dijo sobre el nombre "Julia": "En realidad, no hay una buena razón. Parecía un nombre bonito".[9]​ Bezanson dijo que eligió el nombre por recomendación de un amigo.[10]

Desde el lanzamiento de 2012, Julia ha sido descargado por usuarios de más de 10,000 empresas,[11]​ con más de 24.000.000 de descargas en enero de 2021[12]​ y se utiliza en más de 1.500 universidades.[13]​ La conferencia académica JuliaCon para usuarios y desarrolladores de Julia se ha celebrado anualmente desde 2014 dando la bienvenida a más de 28,900 espectadores únicos.[14]

La versión 0.3 se publicó en agosto de 2014, la versión 0.4 en octubre de 2015, la versión 0.5 en octubre de 2016[15]​ y la versión 0.6 en junio de 2017.[16]​ Tanto Julia 0.7 (una versión útil para probar paquetes y para saber cómo actualizarlos para 1.0 [45]) como la versión 1.0 se lanzaron el 8 de agosto de 2018.

El candidato de lanzamiento para Julia 1.0 (Julia 1.0.0-rc1) se lanzó el 7 de agosto de 2018, y la versión final un día después (actualmente las versiones más antiguas que aún se admiten son 1.0.x, con soporte a largo plazo durante al menos un año). Julia 1.1 se lanzó en enero de 2019 con una nueva función de idioma de "pila de excepciones". Julia 1.2 se lanzó en agosto de 2019 y tiene algún soporte integrado para navegadores web,[17]​ y Julia 1.5 en agosto de 2020.[18]

Resumen de características

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

Diseñado para el paralelismo y la computación en la nube

Julia no le impone al usuario ningún estilo de paralelismo en particular. En vez de esto, le provee con bloques de construcción clave para la computación distribuida, logrando hacer lo suficientemente flexible el soporte de varios estilos de paralelismo y permitiendo que los usuarios añadan más. El siguiente ejemplo demuestra de manera simple como contar el número de caras de una gran cantidad de volados en paralelo.

julia> using Distributed julia> nheads = @distributed (+) for i = 1:200000000 Int(rand(Bool)) end 99998199 

Esta computación es distribuida automáticamente a través de todos los nodos de computo disponibles y el resultado, el cual es reducido por la sumatoria, (+), es regresado al nodo que inició la computación.

Uso

Julia  incluye una terminal interactiva, llamada REPL en donde se puede visualizar automáticamente los resultados de la ejecución del programa o segmento de código.

Ejemplos:

julia> println("hola mundo")           hola mundo 
julia> x = 1 julia> y = 2 julia> if x<y  println("es menor") else  println("es mayor") end es menor julia> (x < y) ? "x es menor a y" : (x > y) ? "x es mayor a y" : "x es igual y" "x es menor a y" julia> comparacion(x, y) = println((x < y) ? "x=$x es menor que y=$y" : (x > y) ? "x es mayor que y" : "x es igual a y") comparacion (generic function with 1 method) julia> comparacion(4, 5) x=4 es menor que y=5 
julia> "LᴬTₑX" "LᴬTₑX" 

Para más ejemplos, puede visitar la documentación de julia, o varios otros recursos que pueden ayudar a los nuevos usuarios a empezar con Julia:

  • Introducción a Julia en español, by Miguel Raz Guzmán (April 7, 2018)
  • Julia and IJulia cheatsheet
  • Learn Julia in a few minutes
  • Learn Julia the Hard Way
  • Julia by Example
  • Hands-on Julia

La consola interactiva presenta varios modos de uso, por ejemplo al teclear ; la consola de julia pasa a ser una shell de comandos de linux:

shell> echo hola            hola 

y al teclear ?  la consola de julia pasara a modo de ayuda en la cual imprimirá la documentación para el comando introducido:

julia> ? help> string            Base.string(xs...)            search: string String StringIndexError Cstring Cwstring bitstring readstring SubString include_string string(n::Integer; base::Integer = 10, pad::Integer = 1) Convert an integer n to a string in the given base, optionally specifying a number of digits to pad to. julia> string(5, base = 13, pad = 4) "0005" julia> string(13, base = 5, pad = 4) "0023" ───────────────────────────────────────────────────────────────────────────────────────────────── string(xs...) Create a string from any values using the print function. Examples ≡≡≡≡≡≡≡≡≡≡ julia> string("a", 1, true) "a1true" 

Usted puede ejecutar código de Julia en una sesión interactiva o guardado en un archivo con la extensión .jl y ejecutarlo desde la línea de comandos con la siguiente instrucción:

$ julia <nombre_del_archivo>.jl 

Julia presenta soporte por parte de Jupyter, un entorno en línea interactivo, a igual que .

Libre, de código abierto y amigable con las librerías

El núcleo de la implementación está licenciado bajo la licencia MIT. Varias librerías usadas por el entorno de Julia incluyen sus propias licencias tales como la GPLLGPL y BSD (de tal manera que el entorno, el cual consiste en el lenguaje, las interfaces de usuario y las librerías, está bajo la GPL). El lenguaje puede ser compilado como una librería compartida, para que los usuarios puedan combinar Julia con su propio código en C/Fortran o con librerías propietarias de terceros. Además, Julia le permite llamar funciones foráneas de librerías compartidas en C y Fortran de manera sencilla, sin tener que escribir código envoltorio e incluso sin tener que volver a compilar el código existente. Puede intentar llamar las funciones de una librería foránea directamente desde el intérprete interactivo de Julia, obteniendo retroalimentación inmediata. Véase la LICENCIA para más información sobre los términos completos del licenciamiento de Julia.

Referencias

  1. https://arxiv.org/abs/1209.5145
  2. «v1.5.1». Github.com. 25 de agosto de 2020. Consultado el 25 de agosto de 2020. 
  3. «v1.5.2». Github.com. 16 de septiembre de 2020. Consultado el 16 de septiembre de 2020. 
  4. «Introduction». The Julia Manual. Read the Docs. Consultado el 6 de diciembre de 2016. 
  5. «Programming Language Network». GitHub. Consultado el 6 de diciembre de 2016. 
  6. López Michelone, Manuel (13 de agosto de 2018). «Se libera el lenguaje de programación Julia 1.0». UNOCERO. Consultado el 16 de agosto de 2021. 
  7. «Página oficial de Julia». 
  8. Bezanson, Jeff (14 de febrero de 2012). «Why We Created Julia». JuliaLang.org (en inglés). Consultado el 15 de enero de 2021. 
  9. Karpinski, Stefan (18 de abril de 2012). «New Julia language seeks to be the C for scientists» (en inglés). Consultado el 15 de enero de 2021. 
  10. Torre, Charles. «Stefan Karpinski and Jeff Bezanson on Julia». Channel 9 (en inglés). Consultado el 15 de enero de 2021. 
  11. «Newsletter August 2020». Consultado el 15 de enero de 2021. 
  12. «Newsletter August 2020». juliacomputing.com (en inglés). 14 de agosto de 2020. Consultado el 16 de enero de 2021. 
  13. «Julia Computing». juliacomputing.com (en inglés). 12 de agosto de 2020. Consultado el 16 de enero de 2021. 
  14. «JuliaCon 2020 Wrap-up». website=julialang.org. 11 de agosto de 2020. Consultado el 16 de enero de 2021. 
  15. «The Julia Blog» (en inglés). Consultado el 21 de enero de 2021. 
  16. «Julia 0.6 Release Announcement» (en inglés). Consultado el 21 de enero de 2021. 
  17. «Sys.isjsvm([os]» (en inglés). Consultado el 21 de enero de 2021. 
  18. Bezanson, Jeff. «The Julia Language». julialang.org (en inglés). Consultado el 21 de enero de 2021. 

Enlaces externos

  • Página oficial de Julia
  • Grupo en Facebook de la comunidad de julia en español
  • Twitter de la comunidad de julia
  • Twitter de la comunidad en español de julia
  • Canal de chat en Discord de julia en español (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  • Repositorio en Github
  • Canal de YouTube
  • Canal de chat en Gitter de julia
  •   Datos: Q2613697
  •   Multimedia: Julia (programming language)

julia, lenguaje, programación, julia, lenguaje, programación, homoicónico, multiplataforma, multiparadigma, tipado, dinámico, alto, nivel, alto, desempeño, para, computación, genérica, técnica, científica, sintaxis, similar, otros, entornos, computación, simil. Julia es un lenguaje de programacion homoiconico 6 multiplataforma y multiparadigma de tipado dinamico de alto nivel y alto desempeno para la computacion generica tecnica y cientifica con una sintaxis similar a la de otros entornos de computacion similares El nombre del lenguaje Julia fue una ocurrencia de los creadores juliaDesarrollador es Jeff Bezanson Stefan Karpinski Viral B Shah y otros contribuidoreshttps julialang org Informacion generalExtensiones comunes jlParadigmaLenguaje de programacion multiparadigma Multiple dispatch Programacion orientada a objetos Programacion por procedimientos functional meta multietapasAparecio en2012 1 Disenado porJeff Bezanson Alan Edelman Stefan Karpinski Viral B ShahUltima version estable1 5 1 2 25 de agosto de 2020 1 ano y 24 dias Ultima version en pruebas1 5 2 3 Sistema de tiposFuertemente tipado dinamico nominativo parametricoInfluido porC Lisp Lua 4 Mathematica estrictamente por Wolfram Language 5 MATLAB Perl 4 Python R Ruby SchemeSistema operativoLinux macOS Windows y una comunidad brinda soporte para FreeBSDLicenciaMIT core editar datos en Wikidata Dispone de un compilador avanzado JIT mecanismos para la ejecucion en paralelo y distribuida ademas de una extensa biblioteca de funciones matematicas La biblioteca desarrollada fundamentalmente en Julia tambien contiene codigo desarrollado en C o Fortran 7 para el algebra lineal generacion de numeros aleatorios procesamiento de senales y procesamiento de cadenas Adicionalmente la comunidad de desarrolladores de Julia contribuye con la creacion y distribucion de paquetes externos a traves del gestor de paquetes integrado de Julia a un paso acelerado IJulia es el resultado de la colaboracion entre las comunidades de IPython y Julia Proporciona una potente interfaz grafica basada en el navegador para Julia Indice 1 Historia 2 Resumen de caracteristicas 3 Disenado para el paralelismo y la computacion en la nube 4 Uso 5 Libre de codigo abierto y amigable con las librerias 6 Referencias 7 Enlaces externosHistoria EditarJulia se inicio en el ano 2009 por Jeff Bezanson Stefan Karpinski Viral B Shah y Alan Edelman quienes se propusieron crear un lenguaje libre que fuera rapido y de alto nivel El 14 de febrero de 2012 el equipo lanzo un sitio web que explica porque fue creado el idioma 8 En una entrevista con InfoWorld en abril de 2012 Karpinski dijo sobre el nombre Julia En realidad no hay una buena razon Parecia un nombre bonito 9 Bezanson dijo que eligio el nombre por recomendacion de un amigo 10 Desde el lanzamiento de 2012 Julia ha sido descargado por usuarios de mas de 10 000 empresas 11 con mas de 24 000 000 de descargas en enero de 2021 12 y se utiliza en mas de 1 500 universidades 13 La conferencia academica JuliaCon para usuarios y desarrolladores de Julia se ha celebrado anualmente desde 2014 dando la bienvenida a mas de 28 900 espectadores unicos 14 La version 0 3 se publico en agosto de 2014 la version 0 4 en octubre de 2015 la version 0 5 en octubre de 2016 15 y la version 0 6 en junio de 2017 16 Tanto Julia 0 7 una version util para probar paquetes y para saber como actualizarlos para 1 0 45 como la version 1 0 se lanzaron el 8 de agosto de 2018 El candidato de lanzamiento para Julia 1 0 Julia 1 0 0 rc1 se lanzo el 7 de agosto de 2018 y la version final un dia despues actualmente las versiones mas antiguas que aun se admiten son 1 0 x con soporte a largo plazo durante al menos un ano Julia 1 1 se lanzo en enero de 2019 con una nueva funcion de idioma de pila de excepciones Julia 1 2 se lanzo en agosto de 2019 y tiene algun soporte integrado para navegadores web 17 y Julia 1 5 en agosto de 2020 18 Resumen de caracteristicas EditarEl despacho multiple nos permite definir el comportamiento de las funciones a traves de diversas combinaciones de tipos de argumentos Sistema de tipado dinamico tipos para la documentacion la optimizacion y el despacho de funciones Buen desempeno acercandose al de lenguajes estaticamente compilados como C Gestor de paquetes integrado Macros tipo Lisp y otras herramientas para la meta programacion Llamar funciones de Python mediante el paquete PyCall Llamar funciones de C directamente sin necesidad de usar envoltorios o APIs especiales Poderosas caracteristicas de linea de comandos para gestionar otros procesos Disenado para la computacion paralela y distribuida Corutinas hilos ligeros verdes Los tipos definidos por el usuario son tan rapidos y compactos como los tipos estandar integrados Generacion automatica de codigo eficiente y especializado para diferentes tipos de argumentos Conversiones y promociones para tipos numericos y de otros tipos elegantes y extensibles Soporte eficiente para Unicode incluyendo UTF 8 pero sin limitarse solo a este Licencia MIT libre y de codigo abierto Disenado para el paralelismo y la computacion en la nube EditarJulia no le impone al usuario ningun estilo de paralelismo en particular En vez de esto le provee con bloques de construccion clave para la computacion distribuida logrando hacer lo suficientemente flexible el soporte de varios estilos de paralelismo y permitiendo que los usuarios anadan mas El siguiente ejemplo demuestra de manera simple como contar el numero de caras de una gran cantidad de volados en paralelo julia gt using Distributed julia gt nheads distributed for i 1 200000000 Int rand Bool end 99998199Esta computacion es distribuida automaticamente a traves de todos los nodos de computo disponibles y el resultado el cual es reducido por la sumatoria es regresado al nodo que inicio la computacion Uso EditarJulia incluye una terminal interactiva llamada REPL en donde se puede visualizar automaticamente los resultados de la ejecucion del programa o segmento de codigo Ejemplos julia gt println hola mundo hola mundojulia gt x 1 julia gt y 2 julia gt if x lt y println es menor else println es mayor end es menor julia gt x lt y x es menor a y x gt y x es mayor a y x es igual y x es menor a y julia gt comparacion x y println x lt y x x es menor que y y x gt y x es mayor que y x es igual a y comparacion generic function with 1 method julia gt comparacion 4 5 x 4 es menor que y 5julia gt LᴬTₑX LᴬTₑX Para mas ejemplos puede visitar la documentacion de julia 25 o varios otros recursos que pueden ayudar a los nuevos usuarios a empezar con Julia Introduccion a Julia en espanol by Miguel Raz Guzman April 7 2018 Julia and IJulia cheatsheet Learn Julia in a few minutes Learn Julia the Hard Way Julia by Example Hands on Julia Tutorial for Homer Reid s numerical analysis classLa consola interactiva presenta varios modos de uso por ejemplo al teclear la consola de julia pasa a ser una shell de comandos de linux shell gt echo hola holay al teclear la consola de julia pasara a modo de ayuda en la cual imprimira la documentacion para el comando introducido julia gt help gt string Base string xs search string String StringIndexError Cstring Cwstring bitstring readstring SubString include string string n Integer base Integer 10 pad Integer 1 Convert an integer n to a string in the given base optionally specifying a number of digits to pad to julia gt string 5 base 13 pad 4 0005 julia gt string 13 base 5 pad 4 0023 string xs Create a string from any values using the print function Examples julia gt string a 1 true a1true Usted puede ejecutar codigo de Julia en una sesion interactiva o guardado en un archivo con la extension jl y ejecutarlo desde la linea de comandos con la siguiente instruccion julia lt nombre del archivo gt jlJulia presenta soporte por parte de Jupyter un entorno en linea interactivo a igual que juliabox Libre de codigo abierto y amigable con las librerias EditarEl nucleo de la implementacion esta licenciado bajo la licencia MIT Varias librerias usadas por el entorno de Julia incluyen sus propias licencias tales como la GPL LGPL y BSD de tal manera que el entorno el cual consiste en el lenguaje las interfaces de usuario y las librerias esta bajo la GPL El lenguaje puede ser compilado como una libreria compartida para que los usuarios puedan combinar Julia con su propio codigo en C Fortran o con librerias propietarias de terceros Ademas Julia le permite llamar funciones foraneas de librerias compartidas en C y Fortran de manera sencilla sin tener que escribir codigo envoltorio e incluso sin tener que volver a compilar el codigo existente Puede intentar llamar las funciones de una libreria foranea directamente desde el interprete interactivo de Julia obteniendo retroalimentacion inmediata Vease la LICENCIA para mas informacion sobre los terminos completos del licenciamiento de Julia Referencias Editar https arxiv org abs 1209 5145 v1 5 1 Github com 25 de agosto de 2020 Consultado el 25 de agosto de 2020 v1 5 2 Github com 16 de septiembre de 2020 Consultado el 16 de septiembre de 2020 a b Introduction The Julia Manual Read the Docs Consultado el 6 de diciembre de 2016 Programming Language Network GitHub Consultado el 6 de diciembre de 2016 Lopez Michelone Manuel 13 de agosto de 2018 Se libera el lenguaje de programacion Julia 1 0 UNOCERO Consultado el 16 de agosto de 2021 Pagina oficial de Julia Bezanson Jeff 14 de febrero de 2012 Why We Created Julia JuliaLang org en ingles Consultado el 15 de enero de 2021 Karpinski Stefan 18 de abril de 2012 New Julia language seeks to be the C for scientists en ingles Consultado el 15 de enero de 2021 Torre Charles Stefan Karpinski and Jeff Bezanson on Julia Channel 9 en ingles Consultado el 15 de enero de 2021 Newsletter August 2020 Consultado el 15 de enero de 2021 Newsletter August 2020 juliacomputing com en ingles 14 de agosto de 2020 Consultado el 16 de enero de 2021 Julia Computing juliacomputing com en ingles 12 de agosto de 2020 Consultado el 16 de enero de 2021 JuliaCon 2020 Wrap up website julialang org 11 de agosto de 2020 Consultado el 16 de enero de 2021 The Julia Blog en ingles Consultado el 21 de enero de 2021 Julia 0 6 Release Announcement en ingles Consultado el 21 de enero de 2021 Sys isjsvm os en ingles Consultado el 21 de enero de 2021 Bezanson Jeff The Julia Language julialang org en ingles Consultado el 21 de enero de 2021 Enlaces externos EditarPagina oficial de Julia Grupo en Facebook de la comunidad de julia en espanol Twitter de la comunidad de julia Twitter de la comunidad en espanol de julia Canal de chat en Discord de julia en espanol enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Pagina de Julia en espanol Repositorio en Github Canal de YouTube Canal de chat en Gitter de julia Datos Q2613697 Multimedia Julia programming language Obtenido de https es wikipedia org w index php title Julia lenguaje de programacion amp oldid 137705538, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos