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.

DatoCifraQué implica
De las 100 extensiones más instaladas87Contienen código ejecutable y quitar cualquiera obliga a reiniciar el proceso que las aloja a todas
Usan el mecanismo de dependencias7De las mismas 100. El resto se engancha a puntos fijos del anfitrión en lugar de depender unas de otras
Datos del catálogo de extensiones el 9 de junio de 2026, según el artículo.

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.