○ planned · proyecto

Otorga nivel a: Julia · Multiple Dispatch

Usa: Python · compilation · Julia · Multiple Dispatch

Miguel Raz defiende que Julia resuelve el ‘two-language problem’ (prototipar en Python/R y reimplementar en C++) mediante JIT y despacho múltiple: performance cercano a C con productividad tipo Python.

Hallazgos clave

  • El ‘two-language problem’: se prototipa en Python/R y se reimplementa en C++; Julia lo resuelve con JIT + subtyping.
  • Casos: Jack Dongarra (Turing 2021) dice que hay mejores mecanismos que Fortran; la vacuna COVID de Pfizer usó Julia con aceleración 175x.
  • En microbenchmarks H2O.ai de dataframes, Julia queda en top 3, pero en uno se quedó sin memoria (debilidad honesta).
  • La primera llamada es lenta (JIT); el despacho múltiple es fácil de abusar y cobra performance en runtime.
  • Reproducibilidad: el manejador de paquetes reproduce bit-por-bit el entorno en segundos, vs el ‘suplicio’ de pip/conda.

Módulos

  1. ¿Qué es Julia? — dinámico, despacho múltiple, homoicónico.
  2. El problema de los dos lenguajes — JIT, subtyping.
  3. Ecosistema — Makie, DataFrames, Turing.jl, Symbolics.jl.
  4. Paralelismo — SIMD, task-based, work stealing.
  5. Recursos — Deep Learning, GPU/CUDA, migración desde Fortran.

Fuente: https://www.youtube.com/watch?v=KVnj4xuktpw · Transcript local: data/cursos/datapub-julia/julia.srt

Enlaces

Otorga nivel a: Julia · Multiple Dispatch Usa: Python · compilation · Julia · Multiple Dispatch