12 Características que no conocías de Julia y que debes de conocer

Julia

Julia

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. El nombre del lenguaje Julia fue puesto en honor a Gaston Julia, un matemático francés que descubrió los fractales.

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, 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. Julia es el resultado de la colaboración entre las comunidades de Python y Julia, provee de una poderosa interfaz gráfica basada en el navegador para Julia.

Características de Julia

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 u 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.

Ejemplo de Codigo

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")
julia> comparacion(4, 5)
x=4 es menor que y=5

julia> "LᴬTₑX"
"LᴬTₑX"

Leave a Reply