El extraño carrusel de la informática
La informática es una disciplina seria, rigurosa, científica, que se pasa el tiempo reinventando lo que olvidó haber inventado veinte años antes. Y lo peor es que funciona cada vez. Se reempaqueta la cosa vieja con un nombre nuevo, se le pone un logo, se levantan 50 millones, y todos se felicitan por la innovación. Si no estáis mareados, es que no estáis prestando atención.
El carrusel
Hay una ley no escrita en informática que nadie enseña en clase pero que todo el mundo acaba descubriendo a sus expensas: todo lo nuevo es viejo, y todo lo viejo volverá. Es un carrusel. Un gran carrusel circular, con caballos de madera pintados de colores diferentes a cada vuelta, pero que giran todos alrededor del mismo eje, a la misma velocidad, desde hace cincuenta años.
El problema es que la gente que se sube al carrusel no ve que gira. Ven el caballo en el que están sentados, les parece formidable, y escriben un artículo en Medium para explicar que ese caballo es disruptivo. Mientras tanto, el señor mayor sentado en el banco de enfrente lleva mirando girar el mismo carrusel desde 1975 y se pregunta si alguien se dará cuenta algún día. (nadie se da cuenta)
Enseño informática. Leo código, escribo código, hago que otros escriban código, y llevo observando el carrusel el tiempo suficiente como para haber empezado a reconocer los caballos. Este post es un catálogo no exhaustivo de las vueltas que he visto pasar, con la laxitud benevolente de un espectador que quiere el espectáculo a pesar de todo.
Centralizado, descentralizado, recentralizado
Ya hablé de esto en el post sobre la federación, pero merece la pena volver bajo el ángulo del ciclo, porque es el más puro, el más bonito, el más desesperante.
Años 60-70: el mainframe. Un gran ordenador central, terminales tontos enchufados. Todo el poder en el centro. Todo el control en el centro. Si el mainframe cae, todos a casa. IBM reina.
Años 80-90: el PC. Descentralizamos. Cada persona tiene su propio ordenador, su propia potencia de cálculo, sus propios archivos. ¡Libertad! ¡El individuo se emancipa del mainframe! Imprimes cosas en tu impresora de agujas y eres soberano. Es magnífico y hace mucho ruido.
Años 2010-20: la nube. Recentralizamos. Tu "propio ordenador" no es más que un navegador web conectado a los servidores de tres empresas californianas. Todo el poder en el centro. Todo el control en el centro. Si AWS cae, la mitad de Internet se va a casa. El terminal VT100 ahora se llama Chromebook. El tiempo compartido se llama SaaS. La factura mensual a IBM se llama "la factura mensual a Amazon". Y el departamento de informática que mantenía el mainframe se llama "la consola de AWS", salvo que está en Seattle y no tenéis el número.
Hemos vuelto al mainframe. Solo le cambiamos el nombre. Y pagamos una fortuna por el viaje.
Monopolio, no monopolio, remonopolio
El ciclo de los monopolios es mi segundo favorito, porque tiene la regularidad de un metrónomo. Parece un gag recurrente de una comedia, salvo que la comedia lleva sesenta años y nadie cambia de canal.
IBM tuvo el monopolio del hardware informático en los 60-70. Tanto monopolio que el gobierno estadounidense lanzó un juicio antimonopolio que duró trece años. Y luego llegó el PC, IBM perdió su corona, y todo el mundo dijo: "¿Veis? ¡El mercado se autorregula!"
Microsoft tomó el relevo en los 90. Monopolio del sistema operativo, del navegador, de la suite ofimática. Tanto monopolio que el gobierno estadounidense lanzó un juicio antimonopolio. Y luego llegaron la web y el móvil, Microsoft tembló, y todo el mundo dijo: "¿Veis? ¡El mercado se autorregula!"
Google tomó el relevo en los 2010. Monopolio de la búsqueda, de la publicidad online, del navegador (otra vez), del sistema operativo móvil. Tanto monopolio que el gobierno estadounidense lanzó un juicio antimonopolio. Y aquí estamos en 2026, esperando a ver qué pasa con las palomitas en la mano.
El patrón es clarísimo. Un gigante se instala, aplasta todo, un nuevo paradigma tecnológico lo desestabiliza, otro gigante toma su lugar, aplasta todo, y vuelta a empezar. El monopolio nunca desaparece. Cambia de logo. Y en cada ciclo, gente muy seria explica en charlas TED que esta vez la tecnología va a democratizar las cosas, que esta vez el pequeño podrá competir con el grande, que esta vez es diferente. Siempre es conmovedor. Nunca es verdad.
El lenguaje viejo, el lenguaje nuevo, el lenguaje viejo al final
Este es el que más me hace sonreír, porque lo vivo a diario.
COBOL. Lenguaje de los años 60. Verboso, rígido, aburrido como un formulario de Hacienda por triplicado. Nadie quiere aprenderlo, todos se burlan, los estudiantes se ríen cuando lo mencionas. Y mientras tanto, el sistema bancario mundial funciona con él. Los seguros funcionan con él. Trozos enteros de la administración de varios países funcionan con él. Y cuando hay un bug crítico en un sistema de pagos, buscan desesperadamente a un desarrollador COBOL de 70 años para arreglarlo, le pagan una fortuna por día, y nadie se ríe ya. (qué curioso)
C. Lenguaje de los años 70. "Peligroso." "Bajo nivel." "Demasiado cerca de la máquina." Inventaron C++ para mejorarlo. Luego Java para reemplazarlo. Luego Go para simplificarlo. Luego Rust para hacerlo seguro. Cada década trae un nuevo lenguaje que supuestamente es "C, pero mejor". Y en 2026, el kernel de Linux es en C, vuestro sistema de archivos es en C, vuestro navegador es en parte en C, el firmware de vuestro router es en C, y los satélites en órbita funcionan con C. El lenguaje que llevan enterrando cuarenta años sigue siendo la base de todo lo que os rodea. Ha sobrevivido a todos sus sucesores designados. Es el equivalente informático de la cucaracha: indestructible, no muy bonito, y absolutamente en todas partes.
SQL. Años 70 también. Relacional, declarativo, riguroso. Y luego en los 2010, la moda decidió que SQL era rígido, "no escalable", cosa de papá. Inventaron NoSQL. MongoDB, Cassandra, CouchDB. "¡Las bases relacionales están muertas!" proclamaron los evangelistas en sus blogs alojados en bases relacionales. Dos años después, los mismos evangelistas se pasaban las noches reimplementando joins y transacciones encima de su base NoSQL, porque resulta que cuando tienes datos estructurados, una base de datos estructurada no está tan mal. MongoDB acabó añadiendo transacciones ACID. Es decir: reinventaron SQL. Peor, más lento, y felicitándose por la innovación. (ovación de pie)
JavaScript. Creado en diez días en 1995 por Brendan Eich en Netscape, para añadir un poco de interactividad a las páginas web. Diez días. Para un lenguaje. Se nota, y se notó durante veinte años. Era un lenguaje de scripting hecho deprisa y corriendo, limitado, renqueante, que nadie tomaba en serio. Y luego, por una serie de acontecimientos que ningún historiador sobrio podrá jamás explicar, la gente empezó a escribir servidores web en JavaScript (Node.js), aplicaciones de escritorio en JavaScript (Electron), aplicaciones móviles en JavaScript (React Native), backends en JavaScript, herramientas de build en JavaScript, y probablemente tostadoras en JavaScript. El lenguaje más despreciado de la industria se convirtió en el más utilizado del mundo. Y ahora inventan TypeScript para corregir sus defectos, es decir, añaden un sistema de tipos estáticos encima de un lenguaje explícitamente diseñado para no tenerlo. Es como ponerle corbata a un gato: técnicamente posible, estéticamente discutible, y el gato no lo pidió.
Y durante todo este tiempo, en algún búnker, un desarrollador Lisp murmura: "Ya teníamos todo eso en 1958." Tiene razón. Nadie le escucha. El carrusel gira.
Las arquitecturas que vuelven
El ciclo de las arquitecturas es el más rápido. El carrusel gira tan deprisa que puedes ver las mismas ideas pasar tres veces en una sola carrera.
Monolito, microservicios, monolito. Durante décadas, escribimos aplicaciones monolíticas. Un solo programa, un solo despliegue, un solo servidor. Funcionaba. Era simple. Era comprensible. Y entonces alguien en Netflix dijo: "Deberíamos partir esto en microservicios." Y el mundo entero siguió, porque si Netflix lo hace, debe ser bueno. ¿Vuestra aplicación de notas de gastos con tres usuarios? Microservicios. ¿Vuestro blog? Microservicios. ¿Vuestra TODO list? Doce contenedores Docker, un API gateway, un service mesh, una herramienta de tracing distribuido, y un ingeniero DevOps a tiempo completo para que se mantenga en pie. Para una TODO list. (Netflix tiene 200 millones de usuarios. Vosotros tenéis tres. Incluyendo a vuestra madre.)
Y luego en 2023, Amazon mismo publicó un artículo explicando que habían migrado uno de sus servicios de microservicios a un monolito y reducido los costes un 90 %. Amazon. La empresa que os vende la infraestructura para hacer microservicios. Que os cobra cada llamada de red entre vuestros 47 microcontenedores. Esa empresa dijo: "En realidad, un monolito es mejor." El carrusel dio una vuelta completa tan rápido que a todos nos dio náuseas.
Cliente pesado, cliente ligero, cliente pesado, cliente ligero. Las aplicaciones de escritorio fueron reemplazadas por aplicaciones web. Y luego las aplicaciones web se volvieron tan complejas que volvieron a ser aplicaciones de escritorio disfrazadas de navegador. Electron es literalmente Chrome empaquetado con vuestra aplicación. Slack pesa 300 MB. Para un chat. El cliente de IRC de 1999 hacía lo mismo en 2 MB, pero no tenía GIFs animados, así que obviamente es incomparable. (ironía en primer grado) Y luego decidimos que era demasiado pesado e inventamos las Progressive Web Apps, que son aplicaciones web que intentan parecerse a aplicaciones de escritorio. El círculo se cierra. La serpiente se muerde la cola. El gato con corbata no está impresionado.
REST, GraphQL, REST. REST era demasiado simple, poco flexible. Inventaron GraphQL para "resolver las limitaciones de REST". Y luego descubrieron que GraphQL tenía sus propias limitaciones (rendimiento, seguridad, complejidad, caché), y los artículos "Why we moved back to REST" florecieron como margaritas en primavera. Mientras tanto, un desarrollador SOAP de los 2000 se aclara la garganta educadamente para señalar que los contratos estrictos, la validación de esquemas y la gestión de errores estandarizada ya existían. Pero claro, SOAP no es sexy, y el XML es verboso, así que mejor no hablar de ello. (mejor reinventar)
El framework del mes
Hay que hablar del ecosistema JavaScript, porque es un caso de estudio. Es el único ecosistema del mundo que reproduce el ciclo entero de la informática en versión acelerada, como un hámster anfetaminado en una rueda que gira a la velocidad de la luz.
He visto, con mis propios ojos, en menos de diez años: Angular es el futuro. No, React es el futuro, Angular está pasado. No, Vue.js es el futuro, React es complicado. No, Svelte es el futuro, Vue es igual que React en realidad. No, SolidJS es el futuro, Svelte compila demasiado. No, HTMX es el futuro, quizás nunca necesitamos un framework del lado del cliente. No, en realidad, un sitio estático con HTML y tres líneas de CSS no estaba tan mal desde el principio.
Hemos vuelto al punto de partida. En diez años. Con ocho frameworks, quince herramientas de build, tres mil artículos de blog, y una carpeta node_modules que pesa más que el programa Apolo. (apenas exagero)
Y en algún lugar, un desarrollador PHP mira todo esto desde su servidor que no se ha movido desde 2009, con su WordPress mohoso y su base MySQL, y sonríe. Porque su sitio funciona, sus clientes están contentos, y nadie le pidió jamás migrar a un monorepo Turborepo con Server Components hidratados en streaming. No sabe lo que eso significa. Nadie sabe realmente lo que eso significa. Pero queda muy bien en un CV.
La IA, o el ciclo más largo
Ya escribí un post entero sobre la IA, así que no voy a repetirlo todo. Pero es imposible hablar de ciclos informáticos sin mencionar el más antiguo, el más regular y el más generosamente financiado de todos.
Años 60: la IA lo va a resolver todo. Financiación masiva. Años 70: no funciona. Invierno. Años 80: los sistemas expertos lo van a resolver todo. Financiación masiva. Años 90: tampoco funciona. Reinvierno. Años 2010: el deep learning lo va a resolver todo. Financiación desmesurada. Años 2020: los LLMs lo van a resolver todo. Financiación cósmica.
El ciclo es siempre el mismo: entusiasmo, sobreinversión, promesas absurdas, decepción, invierno, y vuelta a empezar con una nueva palabra clave. La única variable que cambia es la cantidad de financiación, que aumenta exponencialmente a cada vuelta, como si el dinero pudiera compensar el hecho de que llevamos sesenta años prometiendo lo mismo.
¿Son útiles los LLMs? Sí. Este post fue de hecho redactado con la ayuda de uno. ¿Van a "resolverlo todo"? Dejadme consultar el historial de sesenta años de predicciones en IA y os cuento.
Por qué gira
La verdadera pregunta no es "¿gira?". Eso es evidente. La verdadera pregunta es por qué no nos damos cuenta.
La memoria corta, primero. La industria tech tiene la memoria de un pez dorado con cafeína. Los desarrolladores cambian de trabajo cada dos o tres años, las startups nacen y mueren en dieciocho meses, los frameworks quedan obsoletos antes de ser estables. Nadie se queda en un sitio el tiempo suficiente para ver el ciclo completarse. Así que redescubrimos las mismas lecciones, las envolvemos en vocabulario nuevo ("serverless" en vez de alojamiento compartido, "container" en vez de chroot, "edge computing" en vez de "poner un servidor más cerca del cliente"), y las vendemos como innovaciones. Y funciona, porque los compradores tampoco se quedaron el tiempo suficiente para acordarse de la vuelta anterior.
El dinero, después. Cada vuelta del carrusel está financiada por gente que necesita vender algo nuevo. No se levantan 50 millones de dólares diciendo "vamos a hacer lo mismo de antes, pero bien". Se levantan diciendo "vamos a disrumpir el mercado con un enfoque radicalmente nuevo". Aunque el enfoque en cuestión sea un mainframe con un logo mejor. El capital riesgo no financia la continuidad. Financia la novedad. Y cuando la novedad no existe, se fabrica rebautizando lo viejo. (eso es un modelo de negocio en sí mismo)
Y el ego, por último. Cada generación de desarrolladores quiere creer que es la primera en resolver los problemas de verdad. Que los antiguos no habían entendido. Que esta vez, con estas herramientas, vamos a hacer las cosas bien. Es humano, es hasta conmovedor, y lo digo sin condescendencia porque yo también pasé por ahí. En un momento creí que Docker iba a cambiarlo todo. Que Node.js era la respuesta. Que los microservicios eran el futuro. Y luego el carrusel dio una vuelta, y vi el mismo caballo pasar con una capa de pintura fresca. Eso te baja los humos.
¿Y entonces?
Y entonces nada. El carrusel va a seguir girando. Dentro de diez años, alguien inventará un paradigma revolucionario que será, en realidad, tiempo compartido en un mainframe con mejor marketing. Los lenguajes funcionales harán su cuarto comeback. Una startup levantará 200 millones para reinventar el RSS. Y un viejo desarrollador en algún rincón sacudirá la cabeza murmurando: "Ya lo decía yo."
Lo único que podemos hacer es ser conscientes. Saber que el caballo en el que estamos montados da vueltas en círculo. Disfrutar del paisaje que desfila, reconocer lo que ya vimos en la vuelta anterior, y sobre todo no escribir un artículo de blog para explicar que esta vuelta es diferente.
Que es exactamente lo que acabo de hacer, evidentemente.