**Computación Científica y Julia** Máster Propio en Data Science y Big Data $\mathbf{24/25}$ Dpto. Ciencias de la Computación e Inteligencia Artificial - Universidad de Sevilla !!!ejemplo: Contenido 0. [Transparencias](CompCientJuliaSlides.md.html) 0. [Computación Científica (y Julia)](ComputacionCientificaJulia.html) 1. [Toma de Decisiones y Aprendizaje por Refuerzo (en Julia)](RLJulia.md.html)
!!!ejemplo: Julia y la Programación Científica ![](img/logo.svg align="right" width="150px")[**Julia**](https://julialang.org/) es un lenguaje de programación **homoicónico** (palabra rebuscada para decir que la representación pri­ma­ria de los programas escritos en Julia es también una estructura de datos en un tipo primitivo del lenguaje), **multi­plataforma**, **multiparadigma** (se adapta al estilo del usuario y la necesidad del problema, pudiendo mostrar características de programación funcional, im­pe­ra­tiva, declarativa, etc.), de **tipado dinámico** (aunque puede pasarse a un tipado estático si se considera más adecuado), de **alto nivel** y alto desempeño para la **computación genérica, téc­nica y científica**, con una sintaxis similar a la de otros entornos de computación similares. Dispone de un compilador avanzado con ejecución principalmente en modo **JIT** (Just in Time), mecanismos para la ejecución paralela y distribuida, además de una extensa biblioteca de funciones ma­te­má­ticas. La biblioteca, desarrollada fun­da­mental­mente en Julia, también contiene código desarrollado en C o Fortran, proporcionando librerías para el álgebra lineal, álgebra abstracta, cálculo real, generación de números aleatorios, procesamiento de señales, aprendizaje automático, ciencia de datos, procesamiento de cadenas, pro­gra­ma­ción paralela, etc. Adicionalmente, la comunidad de desarrolladores de Julia contribuye con la creación y distribución de paquetes externos a un paso acelerado a través del [gestor de paquetes](https://juliapackages.com/) integrado en Julia. Además, hay muchos entornos de programación (como [VSCode](https://code.visualstudio.com/), [Atom](https://atom.io/), etc.) que proporcionan ex­ten­sio­nes específicas para facilitar el trabajo con Julia, así como sistemas de notebooks que permiten usar Julia como lenguaje de desarrollo ([Jupyter­/Jupyter­Lab](https://jupyter.org/), y [Pluto](https://www.juliapackages.com/p/pluto)) o entornos in­ter­ac­tivos como [IJulia](https://juliapackages.com/p/ijulia). !!!alg: Algunos recursos para Julia * [Instalación y Ecosistema de Julia: `juliaup`](installJulia.md.html) * [Paquetes y Entornos de Julia](PkgEnv.md.html) * [Manual Rápido de Programación](Julia.md.html) * [Manual de Julia Plots](Plots.md.html) * [Colección: Beautiful Algorithms](https://github.com/mossr/BeautifulAlgorithms.jl)