⬅️ 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.
Ver Ampliar el programa para añadir una clase, un lenguaje al núcleo o una familia al Atlas.