Ensayo · Ensayos
Qué es un cuaderno Jupyter (y por qué es una gran forma de empezar a programar)
Un cuaderno Jupyter mezcla explicación y código ejecutable en el mismo documento. Qué es y por qué creo que es una gran puerta de entrada a la programación.
Hay una herramienta que uso casi todos los días y que, cuando la enseño por primera vez, suele provocar la misma reacción: «¿esto se podía hacer así?». Son los cuadernos Jupyter. No son un lenguaje de programación ni un programa complicado: son una forma de escribir código y explicarlo en el mismo documento. Y creo que son una de las mejores puertas de entrada a la programación que existen hoy.
Qué es un cuaderno Jupyter
Un cuaderno Jupyter es un documento que junta dos cosas que normalmente viven separadas: el texto que explica y el código que se ejecuta. En un mismo archivo puedes escribir un párrafo con formato —títulos, listas, fórmulas, enlaces— y, justo debajo, un bloque de código en Python que se ejecuta y muestra su resultado ahí mismo: un número, una tabla, un gráfico.
El nombre viene de los tres lenguajes con los que nació —Julia, Python y R—, aunque en la práctica la inmensa mayoría de cuadernos son de Python. Es un proyecto libre y de código abierto, heredero de IPython, y se abre en el navegador: no hace falta instalar un entorno complicado para empezar a probar.
Lo importante no es la tecnología que hay debajo, sino el formato. Un cuaderno se lee de arriba abajo como un artículo, pero es un artículo que además puedes ejecutar.
Cómo funciona
Un cuaderno se organiza en celdas, y cada celda es de uno de dos tipos:
| Tipo de celda | Contenido | Qué produce al ejecutarla |
|---|---|---|
| Texto (Markdown) | Explicación, teoría, apuntes, fórmulas | Texto formateado, sin ejecución |
| Código (Python) | Instrucciones ejecutables | El resultado —número, tabla, gráfico— justo debajo |
Detrás del cuaderno hay un kernel: el proceso que ejecuta el código y recuerda el estado. Si en una celda defines una variable, las celdas siguientes la conocen. Eso permite construir un razonamiento por pasos: cargas unos datos en una celda, los transformas en la siguiente, los dibujas en una tercera —y entre medias, con texto, explicas qué estás haciendo y por qué.
Todo se guarda en un archivo con extensión .ipynb que contiene a la vez el
texto, el código y los resultados. Ese archivo se puede compartir, guardar en un
control de versiones y volver a ejecutar desde cero en otro ordenador.
Por qué creo que es la mejor forma de empezar a programar
Cuando alguien aprende a programar, el obstáculo rara vez es la sintaxis. Es la distancia entre la idea y el código: entender qué quieres hacer antes de pelearte con cómo se escribe. El cuaderno Jupyter acorta esa distancia, y lo hace por tres motivos.
Primero: puedes documentar antes de programar. Antes de escribir una sola línea de código, puedes redactar en Markdown la teoría, el planteamiento del problema o tus propios apuntes. El código deja de ser un texto aislado y pasa a estar rodeado de su explicación. Para quien aprende, eso convierte el cuaderno en un material de estudio que, además, funciona.
Segundo: el código está vivo. Como cada celda se ejecuta por separado, puedes cambiar una línea, volver a ejecutar y ver el efecto al instante, sin montar un programa entero para probar una idea. Ese bucle —escribir, ejecutar, equivocarse, corregir— es exactamente con el que se aprende a programar, y el cuaderno lo hace cómodo. Crear un ejemplo pequeño para entender un concepto cuesta segundos.
Y lo que más me gusta: sirve para enseñar. Un profesor puede preparar un cuaderno base —con la teoría explicada y el código a medio hacer— y entregárselo a sus alumnos. Cada alumno completa lo que necesita: rellena las celdas vacías, prueba variantes, anota sus dudas en una celda de texto. El cuaderno se convierte en un espacio de trabajo compartido donde la explicación y la práctica están en el mismo sitio. Doy clase de informática, y no conozco una forma más limpia de poner a un grupo entero a programar el primer día.
En mi propio trabajo —analizar señales de audio, probar modelos, mirar espectros— el cuaderno es donde ocurre casi todo antes de que nada se convierta en un programa formal. Pero esa es solo mi excusa para usarlos. La razón por la que los recomiendo es más simple: son la forma más honesta que conozco de aprender programando, porque te obligan a explicar lo que haces mientras lo haces.
Bibliografía
Las referencias en las que se apoya este artículo y por dónde seguir leyendo:
- Pérez, F. y Granger, B. E. (2007). «IPython: A System for Interactive Scientific Computing». Computing in Science & Engineering, 9(3), 21–29.
- Kluyver, T. et al. (2016). «Jupyter Notebooks — a publishing format for reproducible computational workflows». En Positioning and Power in Academic Publishing. IOS Press.
- Rule, A. et al. (2019). «Ten simple rules for writing and sharing computational analyses in Jupyter Notebooks». PLOS Computational Biology, 15(7).
- Project Jupyter — jupyter.org.
Preguntas frecuentes
-
¿Los cuadernos Jupyter solo funcionan con Python?
No. Jupyter soporta más de 100 kernels distintos: R, Julia, JavaScript, Octave y muchos más. El nombre es un juego de palabras: Julia + Python + R. En la práctica, la inmensa mayoría de cuadernos de informática musical usan Python porque librerías como librosa, mir_eval y music21 tienen sus mejores APIs en ese ecosistema. Lo explico en Por qué uso cuadernos Jupyter en investigación musical.
-
¿Se puede usar Jupyter sin instalar nada?
Sí, hay varias opciones en la nube que no requieren instalar nada:
- Google Colab — el más usado en investigación musical. Ofrece GPUs gratuitas (con límites) y es compatible con la mayoría de librerías del ecosistema Python musical.
- Kaggle Notebooks — similar a Colab, con acceso a datasets públicos de Kaggle directamente desde el cuaderno.
- Binder — convierte cualquier repositorio GitHub con un
requirements.txten un entorno Jupyter ejecutable en el navegador. Ideal para publicar cuadernos reproducibles.
Para trabajo serio a largo plazo prefiero la instalación local con
condaovirtualenv: controlas las versiones exactas de librosa, numpy o torch, y el cuaderno funciona igual dentro de un año. En la nube, las versiones de las librerías pueden cambiar sin avisar y romper la reproducibilidad.El flujo de trabajo con entornos locales y cómo estructuro mis cuadernos está en Por qué uso cuadernos Jupyter en investigación musical.