14 · 87 de 100
El problema
Componer software en caliente no tenía una base formal a la altura de lo importante que es.
Componer software de forma estática es un problema resuelto desde hace décadas. Las llamadas a función, las importaciones y la herencia se deciden antes de ejecutar y no cambian.
Componer en caliente es otra cosa. Y ahí, según el artículo, los fundamentos formales están mucho menos desarrollados de lo que la importancia práctica del problema justificaría.
Existen dos dimensiones y son independientes entre sí.
- Dimensión temporal El tiempo Cuando retiras una pieza, todo lo que hizo tiene que deshacerse por completo. En estático se resuelve con el alcance de las variables.
- Dimensión espacial El espacio Las piezas tienen que poder declarar de qué dependen y reaccionar cuando eso cambia. En estático se resuelve con la resolución de importaciones.
En estático, ambas dimensiones son fáciles de manejar. En caliente, se complican mucho.
El ejemplo que todo el mundo ha sufrido
El artículo usa Visual Studio Code y los datos son concretos. Se recogieron del catálogo de extensiones el 9 de junio de 2026.
| Dato | Cifra | Qué implica |
|---|---|---|
| De las 100 extensiones más instaladas | 87 | Contienen código ejecutable y quitar cualquiera obliga a reiniciar el proceso que las aloja a todas |
| Usan el mecanismo de dependencias | 7 | De las mismas 100. El resto se engancha a puntos fijos del anfitrión en lugar de depender unas de otras |
Existe una función de apagado, pero solo se ejecuta cuando el proceso entero termina. Además, está escrita lejos de donde se creó lo que tiene que limpiar, por lo que verificar que la limpieza sea completa es difícil.
Cuando las extensiones sí interactúan, lo que reciben llega sin tipar.
La parte más lúcida
El artículo se pregunta por qué esto ha recibido tan poca atención formal y da una respuesta convincente: porque ya existe un sustituto que funciona lo bastante bien.
- Sustituto uno El sistema operativo Resuelve la dimensión temporal con granularidad de proceso, es decir reiniciando
- Sustituto dos El orquestador Resuelve la espacial con granularidad de servicio
Los dos mecanismos operan en la frontera del proceso y del contenedor. El software moderno compone a un nivel mucho más fino. Esa desalineación es el hueco que el artículo intenta llenar.