⬅️ Volver al programa · 📚 Índice completo · 📅 Syllabus · 🧭 Metodología
El currículo completo: 176 clases en 12 partes, con numeración global y secuencial.
La fuente de verdad es scripts/curriculo.py, de donde
scripts/build.py deriva el manifiesto, el índice y los README de parte.
El criterio de ordenación es de dependencia, no de dificultad: cada parte usa lo anterior. No se avanza por lenguaje sino por concepto: un concepto se presenta una vez y se compara inmediatamente en los 10 lenguajes del núcleo.
001–014 (14 clases)Cómo pensar un problema antes de elegir lenguaje, y el método de fichas de transferencia que sostiene todo el programa. Aquí se fija la herramienta central: distinguir una diferencia sintáctica de una semántica y de una paradigmática.
015–028 (14 clases)El árbol genealógico: cada lenguaje del núcleo es el representante de una familia y abre la puerta a decenas de primos. Se estudia junto al Atlas.
029–040 (12 clases)Del código fuente al programa que corre: instalar, ejecutar, compilar, empaquetar y probar en cada lenguaje, con el esquema completo de cada comando.
041–056 (16 clases)La materia prima de todo programa: cómo cada lenguaje nombra, tipa, convierte y muta los valores. Primera parte con código verificado en CI.
057–072 (16 clases)Decidir, repetir y manejar errores: el flujo de ejecución expresado en cada familia de lenguajes.
073–088 (16 clases)Nombrar procesos, pasar datos y organizar el código en módulos con contratos claros.
089–106 (18 clases)Modelar la información: colecciones, registros, tipos algebraicos, identidad, propiedad y persistencia.
107–122 (16 clases)Las grandes formas de estructurar una solución: imperativo, objetos, funcional, declarativo, lógico, eventos y concurrencia.
123–138 (16 clases)Qué ocurre por debajo: compilación, máquinas virtuales, memoria, concurrencia y diagnóstico de errores.
139–154 (16 clases)Llevar el código a producción: pruebas, dependencias, Git, CI, rendimiento, seguridad y mantenibilidad en varios lenguajes.
155–164 (10 clases)Por qué los sistemas reales son políglotas y cómo comunican sus piezas: FFI, ABI, serialización, APIs y WebAssembly.
165–176 (12 clases)Construir un sistema real con componentes en varios lenguajes y defender cada decisión de lenguaje y contrato.
| Tipo | Partes | Qué trae | Qué se verifica |
|---|---|---|---|
| Método | 0, 1, 2 | Concepto, comparación y criterio; sin implementaciones | Estructura y enlaces |
| Código | 3–11 | 10 implementaciones del núcleo + casos.json |
Equivalencia ejecutada en CI |
Definido en languages.json, con su comando de ejecución y su modelo:
| Lenguaje | Modelo | Familia |
|---|---|---|
| Python | interpretado, dinámico | scripting dinámico |
| JavaScript | JIT, dinámico | JavaScript / web |
| TypeScript | transpilado, estático | JavaScript / web |
| Java | JVM, estático | JVM |
| C# | CLR, estático | .NET |
| Go | compilado, estático | sistemas |
| Rust | compilado, estático (propiedad) | sistemas |
| C | compilado, estático (memoria manual) | C / llaves |
| SQL | declarativo | lógica y declarativa |
| PHP | interpretado, dinámico | scripting dinámico |
Los ~40 lenguajes restantes se comprenden por características en el Atlas, sin implementarse: así el programa cubre amplitud sin multiplicar el mantenimiento. Cada uno tiene además su ficha de lenguaje —60 en total, los diez del núcleo incluidos— con historia, dónde vive hoy, lo que enseña, lo que se ha modernizado y el programa de la clase 041 explicado línea a línea.
Y una capa más: los lenguajes que siguen vivos. Las 136 clases de
código traen un vivos.md con el mismo problema resuelto en COBOL, Fortran, Ada, Pascal,
Common Lisp, Tcl, Perl, C++, RPG, PL/I, MUMPS y Smalltalk —1632 programas, de los que ocho
lenguajes se compilan y ejecutan en CI—, porque cada uno deja a la vista un concepto que el
núcleo esconde.
Ver Ampliar el programa para añadir una clase, un lenguaje al núcleo o una familia al Atlas.