⏱️ Lectura: 11 min

El libro Mastering Dyalog APL, considerado durante más de quince años la referencia de facto para aprender Dyalog APL, está siendo reescrito en formato Jupyter Book. La nueva versión vive online, es abierta, ejecutable y se construye en público sobre un repositorio de GitHub que cualquiera puede revisar, comentar o corregir.

📑 En este artículo
  1. TL;DR
  2. Qué es Mastering Dyalog APL y por qué importa
  3. Quién está detrás de la reescritura
  4. Qué es APL y por qué sigue siendo relevante en 2026
  5. Un ejemplo concreto: lo que hace especial al lenguaje
  6. Cómo instalar Dyalog APL en LATAM
    1. Windows
    2. macOS
    3. Linux (Debian/Ubuntu)
  7. Cómo se construye el libro
  8. Qué encuentra el lector que llega hoy
  9. Cómo contribuir desde la región
  10. Qué viene después
  11. Preguntas frecuentes
    1. ¿Necesito un teclado especial para escribir APL?
    2. ¿Dyalog APL es gratuito?
    3. ¿Vale la pena aprender APL si ya sé Python con NumPy?
    4. ¿Cuánto tiempo toma leer Mastering Dyalog APL?
    5. ¿Cómo reporto un error en el libro?
    6. ¿Habrá traducción al español oficial?
  12. Referencias

La obra original data de noviembre de 2009 y fue escrita por Bernard Legrand. Esta nueva edición la lidera Rodrigo Girão Serrão, con el apoyo de Adám Brudzewsky y de toda la comunidad alrededor del lenguaje. Para una región como LATAM, donde los libros impresos de APL son prácticamente inexistentes, este movimiento abre una puerta que llevaba mucho tiempo cerrada.

TL;DR

  • Mastering Dyalog APL, escrito por Bernard Legrand en 2009, se reescribe en Jupyter Book con notebooks ejecutables.
  • La rework está a cargo de Rodrigo Girão Serrão con Adám Brudzewsky y la comunidad APL en GitHub.
  • La versión online es trabajo en progreso: faltan capítulos y otros están en revisión profunda.
  • Habrá versión online estática, notebooks interactivos y una edición impresa en papel.
  • Mantiene texto y ejemplos originales cuando sirven; agrega capítulos sobre features de Dyalog posteriores a 2009.
  • Issues, sugerencias y typos se reportan vía GitHub o al correo [email protected].
  • APL sigue siendo influyente: inspiró a NumPy, Pandas, J, K, Q y al pensamiento array-oriented moderno.

Qué es Mastering Dyalog APL y por qué importa

Mastering Dyalog APL es, desde hace más de una década, el libro al que se manda a cualquiera que pregunte cómo aprender APL en serio. La primera edición se publicó en noviembre de 2009 cubriendo Dyalog APL 12.0 y, aunque sigue siendo un material excelente, el paso del tiempo lo ha vuelto incompleto: el lenguaje ha incorporado nuevas características, idiomas y herramientas que en 2009 simplemente no existían.

El equipo a cargo decidió no remendar el PDF original, sino reconstruir el libro como Jupyter Book. La diferencia es importante: el lector ya no tiene que copiar un ejemplo al intérprete, ejecutar y comparar. Puede leer el texto y ejecutar el bloque inmediatamente, modificarlo, ver el resultado y seguir aprendiendo sin cambiar de ventana. Es el cambio de un libro estático a un manual vivo.

📌 Nota: La versión online es un work in progress declarado. Hay capítulos faltantes y otros en revisión profunda. Esto no es debilidad: es la forma honesta de publicar un libro técnico en una era donde el lenguaje sigue cambiando.

Quién está detrás de la reescritura

La primera edición tuvo como autor principal a Bernard Legrand, con contribuciones de figuras conocidas dentro del mundo APL: Kim S. Andreasen, Daniel Baronet, Gitte Christensen, Peter Donnelly, Morten Kromberg, John Scholes, Adrian Smith y Tim JA. Smith. Es, en términos prácticos, una lista de personas que definieron Dyalog durante dos décadas.

La reescritura está siendo realizada por Rodrigo Girão Serrão, con un agradecimiento expreso a Adám Brudzewsky y al resto de quienes han reportado bugs, sugerido cambios o aportado pull requests al repositorio. Cuando los ejemplos del libro original siguen funcionando y son pedagógicamente claros, se conservan textual o casi textualmente. Cuando algo quedó obsoleto, se actualiza. Y cuando aparece algo nuevo de Dyalog, se agrega como capítulo o sección extra.

El proyecto incluye un changelog que permite revisar exactamente qué cambió respecto del libro de 2009, qué se reescribió y qué es completamente nuevo. Para alguien que ya conoce el libro original, ese changelog es la mejor brújula para no perder tiempo releyendo lo conocido.

Pantalla mostrando código APL ejecutándose dentro de un notebook Jupyter
Los notebooks permiten ejecutar APL mientras se lee la explicación.

Qué es APL y por qué sigue siendo relevante en 2026

APL (A Programming Language) nació en los años 60 como una notación matemática diseñada por Kenneth Iverson, premio Turing 1979. Su rasgo más visible es el uso de símbolos no-ASCII (⍳ ⍴ ⌈ ⌊ ¨ /) que sustituyen a las palabras clave habituales de otros lenguajes. Lo que parece exotismo es, en realidad, densidad: un programa APL muchas veces ocupa una línea donde uno en Python ocuparía veinte.

Pero la importancia de APL hoy no está en su nostalgia. Está en su descendencia. NumPy, Pandas, J, K, Q, KDB+ y prácticamente todo el modelo mental moderno de “operaciones sobre arrays” descienden, directa o indirectamente, del pensamiento que Iverson formalizó en APL. Cuando un científico de datos escribe df.groupby('country').sales.mean() está usando, sin saberlo, una idea que APL ya tenía en los años 60: aplicar una operación sobre una colección sin escribir el loop.

En el mundo financiero, Kx Systems vende KDB+/Q —un dialecto directamente emparentado con APL— y sigue siendo el motor de análisis de tick data más usado en grandes bancos y trading firms. Aprender APL es, en parte, entender por qué la industria pagó tanto durante tantos años por un lenguaje que se ve como matemática griega.

Un ejemplo concreto: lo que hace especial al lenguaje

Para ver de dónde sale la fascinación, vale más un ejemplo que cien párrafos. Supongamos que queremos calcular la media de cada fila de una matriz. En Python con NumPy:

import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
m.mean(axis=1)
# array([2., 5., 8.])

En APL, esa misma operación se escribe así:

      m ← 3 3⍴⍳9
      (+/m)÷≢⊢m
2 5 8

O incluso, usando promedio como trenza de funciones:

      avg ← {(+/⍵)÷≢⍵}
      avg¨↓m
2 5 8

Lo importante no es la brevedad por sí misma. Es que el programa se parece a la fórmula matemática: “suma sobre cardinalidad”. APL no esconde la matemática debajo de azúcar sintáctica, la pone arriba.

💡 Tip: Si no tenés teclado APL, Dyalog proporciona una capa de teclado virtual (RIDE) que mapea cada símbolo a una combinación tipo Prefix + letra. No hay que comprar hardware especial para empezar.

Cómo instalar Dyalog APL en LATAM

Dyalog ofrece licencias gratuitas para uso personal, educativo y no comercial. La instalación cambia según el sistema operativo, pero el flujo es directo. Acá los pasos para los tres principales:

Windows

# Descargar el instalador desde:
# https://www.dyalog.com/download-zone.htm
# Ejecutar Dyalog-19.0-Unicode-x86_64.exe
# Aceptar la licencia personal/educativa
# Tras instalar, abrir el IDE "Dyalog APL/W-64"

macOS

# Descargar el .dmg desde la misma URL
# Arrastrar Dyalog.app a /Applications
# La primera ejecución requiere autorizar en Preferencias > Seguridad
open -a Dyalog

Linux (Debian/Ubuntu)

# Descargar el paquete .deb
sudo dpkg -i dyalog-unicode_19.0.49294_amd64.deb
sudo apt -f install   # resuelve dependencias
# Lanzar el IDE RIDE
ride

Para correr los notebooks del libro localmente, el flujo es paralelo: clonar el repositorio, instalar JupyterLab y el kernel de Dyalog APL, y abrir los .ipynb directamente.

git clone https://github.com/Dyalog/MasteringDyalogAPL.git
cd MasteringDyalogAPL
pip install jupyterlab
# Instalar el kernel APL siguiendo las instrucciones del repo
jupyter lab
Diagrama del pipeline de publicación de Mastering Dyalog APL
Del notebook al sitio estático y al PDF impreso: una sola fuente.

Cómo se construye el libro

La pieza interesante para cualquier desarrollador que produzca contenido técnico es la cadena de publicación. El proyecto usa una sola fuente —los notebooks Jupyter en GitHub— y de ahí genera tres productos: la versión web estática, los notebooks interactivos descargables y el PDF que servirá de base para la edición impresa.

graph LR
 A["Jupyter Notebooks (.ipynb)"] --> B["Jupyter Book"]
 B --> C["Sitio web estático"]
 B --> D["PDF imprimible"]
 A --> E["Notebooks interactivos"]
 F["Issues y PRs en GitHub"] --> A

Este modelo de “docs-as-code” es el mismo que usan equipos como Cloudflare, MDN o Astro para su documentación, pero aplicado a un libro completo. La consecuencia práctica es enorme: cualquier persona puede abrir un issue señalando un error tipográfico, sugerir un ejemplo mejor o aportar un capítulo nuevo. La barrera para colaborar dejó de ser “tener contacto con la editorial” y pasó a ser “saber abrir un pull request”.

Qué encuentra el lector que llega hoy

El estado actual del proyecto es honesto en su advertencia: faltan capítulos. La estructura básica está en su lugar, los fundamentos del lenguaje cubiertos, y los ejemplos clásicos del libro original ya migrados. Pero todavía hay áreas en revisión profunda y secciones marcadas como pendientes.

Para alguien que quiere aprender APL en 2026, la pregunta no es si el libro está completo, sino si es el mejor punto de partida disponible. La respuesta es sí, por tres razones concretas: (1) es gratuito, (2) los ejemplos se pueden ejecutar de inmediato, y (3) la comunidad responde rápido a issues en GitHub. Ningún tutorial fragmentado de YouTube cubre estos tres puntos a la vez.

💭 Clave: En lugar de esperar a que el libro esté “terminado”, el lector puede empezar hoy por los capítulos completos y, al toparse con un faltante, ir al APL Wiki o al Dyalog Forum. El libro es ahora un eje, no un final.

Cómo contribuir desde la región

Para programadores hispanohablantes, este proyecto ofrece tres formas concretas de aportar sin necesidad de ser un experto APL:

  • Reportar typos y errores: abrir un issue en el repositorio con el capítulo y la línea exacta. El proyecto agradece explícitamente este tipo de aportes.
  • Sugerir ejemplos contextualizados: los ejemplos actuales tienden a usar contextos anglosajones. Aportar casos de uso latinoamericanos (procesamiento de datos electorales abiertos, análisis financiero local, datos abiertos gubernamentales) suma valor real.
  • Traducir secciones puntuales: aunque el libro oficialmente es en inglés, una comunidad de notas y resúmenes en español alrededor del libro tiene espacio para crecer. APL en español es prácticamente terreno virgen.

Qué viene después

El equipo declaró tres objetivos para los próximos meses: completar los capítulos faltantes, estabilizar el contenido revisado y producir la edición impresa para quienes prefieren leer en papel. El changelog seguirá siendo la fuente de verdad sobre qué cambió respecto del libro original.

Más allá del libro en sí, lo interesante es el modelo. Si Mastering Dyalog APL demuestra que un libro técnico de referencia puede vivir como repositorio abierto sin perder calidad editorial, otros libros canónicos podrían seguir el camino. Hay candidatos obvios: manuales de matemática aplicada, libros de algoritmos clásicos, referencias de lenguajes con comunidades pequeñas pero comprometidas.

📖 Resumen en Telegram: Ver resumen

Preguntas frecuentes

¿Necesito un teclado especial para escribir APL?

No. Dyalog provee una capa de teclado virtual que permite escribir los símbolos APL desde cualquier teclado estándar usando combinaciones de tecla. En el IDE RIDE y en los notebooks Jupyter, la capa se activa automáticamente.

¿Dyalog APL es gratuito?

Dyalog ofrece licencias gratuitas para uso personal, educativo y no comercial. Para uso comercial se requiere licencia paga. Esto cubre perfectamente a estudiantes, hobbyists y a cualquiera que quiera aprender el lenguaje.

¿Vale la pena aprender APL si ya sé Python con NumPy?

Sí, por una razón concreta: APL fuerza a pensar en arrays como objetos primarios, no como contenedores. Esa forma de pensar transfiere de vuelta a NumPy, Pandas y a cualquier herramienta vectorizada, mejorando la calidad del código en esos entornos.

¿Cuánto tiempo toma leer Mastering Dyalog APL?

Los lectores reportan entre 40 y 80 horas distribuidas en varias semanas para una lectura activa, ejecutando los ejemplos. La versión Jupyter, al permitir experimentar, suele tomar más tiempo pero deja conocimiento más sólido que un repaso pasivo del PDF original.

¿Cómo reporto un error en el libro?

Abriendo un issue en el repositorio de GitHub del proyecto, o enviando un correo a [email protected]. El equipo responde activamente a ambos canales.

¿Habrá traducción al español oficial?

No hay un anuncio oficial de traducción al español. La comunidad hispanohablante interesada podría organizarse para traducir capítulos vía pull requests, pero no es una rama oficial del proyecto en este momento.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Categorías: Noticias Tech

Andrés Morales

Desarrollador e investigador en inteligencia artificial. Escribe sobre modelos de lenguaje, frameworks, herramientas para devs y lanzamientos open source. Cubre papers de ML, ecosistema de startups tech y tendencias de programación.

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.