Thompson, el arquitecto olvidado que silencia el código
Ken Thompson, el hombre que dio forma a Unix, B y Go, ha vuelto a plantear una pregunta incómoda: ¿estamos realmente programando, o simplemente acumulando código? Su insistencia en la eliminación radical –“solo hay que escribir lo necesario”– es un llamado de atención que resuena con fuerza en la era de la IA.

Un legado minimalista que desafía la productividad
Thompson, una figura casi legendaria en la informática, comenzó a esculpir la historia del software a finales de los años 60, junto a Dennis Ritchie. Su trabajo en Bell Labs no fue solo la creación de Unix, sino la concepción de una nueva forma de pensar la computación: modularidad, eficiencia, y una filosofía de construcción minúscula. Con el lenguaje B, su sucesor de BCPL, y posteriormente con Go, ha repetido esa misma obsesión por la simplicidad, un enfoque que contrasta frontalmente con la tendencia actual a priorizar la cantidad de líneas de código.
Su afirmación de que uno de sus días más productivos fue la eliminación de 1.000 líneas de código –una cifra que choca con la lógica convencional de la productividad– revela una verdad fundamental: cada línea añadida es un riesgo, un potencial fallo, un obstáculo para la evolución. La deuda técnica, esa sombra silenciosa que se acumula en los sistemas complejos, es la consecuencia directa de esta proliferación sin criterio.
Según Thompson, la clave no es escribir más, sino saber qué no escribir. Eliminar código no es, como a menudo se cree, un acto de retroceso, sino una estrategia para reducir la superficie de error, simplificar la arquitectura y, en definitiva, dotar al sistema de una mayor flexibilidad. Es un ejercicio de juicio, que requiere una comprensión profunda del sistema y la valentía para prescindir del superfluo.
“Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”, bromeó Bjarne Stroustrup, el creador de C++. Y la filosofía de Go, heredada de Thompson, encarna esa misma tensión: un diseño deliberadamente escueto, con mecanismos de concurrencia entendibles, en contraposición a la sintaxis compleja y a menudo opaca de lenguajes como C++ o Java. La verdadera productividad, concluye Thompson, se mide no por la cantidad de código, sino por la calidad de la abstracción.
El gráfico que está inundando internet, mostrando qué profesiones corren mayor peligro por la IA, es solo una ilustración más de esta problemática. La obsesión por la productividad, medida en líneas de código, ignora el coste real: el tiempo que otros equipos necesitan para comprender ese código, la fragilidad que genera en el sistema. Thompson no nos ofrece una solución mágica, sino una perspectiva: programar bien es saber exactamente qué no hacer.
