You are on page 1of 3

Julia (lenguaje de programación)

Julia es un lenguaje de programación homoicónico, 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.
julia
El nombre del lenguaje Julia fue una ocurrencia de los creadores.

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,5 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, provee de una poderosa interfaz gráfica basada en el navegador para Julia.

Índice
Resumen de características
Compilador JIT de alto desempeño Desarrollador(es)
Diseñado para el paralelismo y la computación en la nube Jeff Bezanson, Stefan Karpinski, Viral B. Shah, y
Uso otros contribuidores
Libre, de código abierto y amigable con las librerías https://julialang.org/
Referencias en la cultura pop Información general
Referencias Extensiones .jl
Enlaces externos comunes
Paradigma Lenguaje de programación
multiparadigma: Multiple dispatch
Resumen de características ("Programación orientada a
objetos"), Programación por
El despacho múltiple: nos permite definir el comportamiento de las funciones a través de diversas combinaciones de procedimientos, functional, meta,
tipos de argumentos. multietapas
Sistema de tipado dinámico: tipos para la documentación, la optimización y el despacho de funciones.
Apareció en 20121
Buen desempeño, acercándose al de lenguajes estáticamente compilados como C.
Gestor de paquetes integrado. Diseñado Jeff Bezanson, Alan Edelman,
Macros tipo Lisp y otras herramientas para la meta-programación. por Stefan Karpinski, Viral B. Shah
Llamar funciones de Python: mediante el paquete PyCall. Última 1.0.02 (8 de agosto de 2018 (1
Llamar funciones de C directamente: sin necesidad de usar envoltorios u APIs especiales. versión mes y 18 días))
Poderosas características de línea de comandos para gestionar otros procesos. estable
Diseñado para la computación paralela y distribuida.
Sistema de Fuertemente tipado,
Corutinas: hilos ligeros “verdes”.
tipos dinámico,nominativo, parametrico
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. Influido por C, Lisp, Lua3 , Mathematica
Conversiones y promociones para tipos numéricos y de otros tipos, elegantes y extensibles. (strictamente por Wolfram
Soporte eficiente paraUnicode, incluyendo UTF-8 pero sin limitarse solo a este. Language4 ), MATLAB, Perl3 ,
Licencia MIT: libre y de código abierto. Python, R, Ruby, Scheme
Sistema Linux, macOS, Windows y una
Compilador JIT de alto desempeño operativo comunidad brinda soporte para
FreeBSD
Tanto el compilador justo a tiempo (JIT) basado en LLVM así como el diseño del lenguaje le permiten a Julia acercarse e incluso
Licencia MIT (core)
igualar a menudo el desempeño de C. Para hacerse una idea del desempeño relativo de Julia comparado con otros lenguajes que
[editar datos en Wikidata]
pueden o podrían ser usados para la computación científica y numérica, hemos escrito una serie de micro pruebas comparativas en una
variedad de lenguajes: C, Fortran, Julia,Python, Matlab/Octave, R, JavaScript, Go, y Mathematica. Le animamos a darle un vistazo al
código para que se haga una idea de la facilidad o dificultad que conlleva el uso de la programación numérica en cada lenguaje.

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 inicio la
computación.

Uso
Julia incluye una terminal interactiva, llamadaREPL 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"

[25] o varios otros recursos que pueden ayudar a los nuevos usuarios a empezar con Julia:
Para más ejemplos, puede visitar la documentación de 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
Tutorial for Homer Reid’s numerical analysis class

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 deJupyter, un entorno on-line interactivo, a igual quejuliabox.

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 GPL, LGPL 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 LICENCIApara más información sobre los términos completos del licenciamiento de Julia.

Referencias en la cultura pop


El lenguaje de programación julia es referido en la serieThe 100 en una libreta donde se muestra elcódigo de la inteligencia artificial A.L.I.E.

Referencias
1. https://arxiv.org/abs/1209.5145
2. «v1.0.0» (https://github.com/JuliaLang/julia/releases/tag/v1.0.0)
. Github.com. 8 de agosto de 2018. Consultado el 8 de agosto de 2018.
3. «Introduction» (http://julia.readthedocs.org/en/stable/manual/introduction/)
. The Julia Manual. Read the Docs. Consultado el 6 de diciembre de 2016.
4. «Programming Language Network»(https://fatiherikli.github.io/programming-language-network/) . GitHub. Consultado el 6 de diciembre de 2016.
5. «Página oficial de Julia»(http://julialang.org/).

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
Página de Julia en español
Repositorio en Github
Canal de youtube
Canal de chat en Gitter de julia

Obtenido de «https://es.wikipedia.org/w/index.php?title=Julia_(lenguaje_de_programación)&oldid=110344256
»

Esta página se editó por última vez el 1 sep 2018 a las 13:54.

El texto está disponible bajo laLicencia Creative Commons Atribución Compartir Igual 3.0
; pueden aplicarse cláusulas adicionales. Al usar este sitio, usted acepta nuestros
términos
de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de laFundación Wikimedia, Inc., una organización sin ánimo de lucro.

You might also like