Ken thompson: el hombre que hizo que la informática fuera simple (y más peligrosa)

Ken Thompson, el hombre que dio forma a Unix, B y Go, ha lanzado una bomba: la simplicidad extrema en la programación es un arma de doble filo. A sus 83 años, el gigante de la informática no solo nos recuerda la importancia de eliminar el código innecesario, sino que advierte sobre las consecuencias de una productividad ciega.

Un genio que odia la complejidad

Un genio que odia la complejidad

Thompson, una figura casi mítica en Silicon Valley, comenzó su carrera en los laboratorios Bell a finales de los 60, junto a Dennis Ritchie, sentando las bases de un sistema operativo que revolucionaría la computación. Unix no fue solo un sistema, fue una filosofía: módulos pequeños, autónomos, que resolvían tareas específicas y se combinaban para crear sistemas complejos. Esa mentalidad de “hacer una cosa bien” lo acompañó a lo largo de su carrera, desde el lenguaje B (precursor directo de C) hasta Go, el lenguaje de Google diseñado para la producción a gran escala.

Pero Thompson no es un gurú de la Tecnología que se queda en la teoría. Su historia personal es un ejemplo brutal de cómo la obsesión por la eficiencia puede llevar a conclusiones sorprendentes. Según él mismo, uno de sus días más productivos fue cuando eliminó 1.000 líneas de código. Sí, 1.000 líneas. Y no lo hizo por capricho. Thompson argumenta que cada línea de código añadida es una oportunidad para que alguien la lea, la entienda, la mantenga. y para que se esconda un bug.

La deuda técnica es silenciosa. A medida que los sistemas crecen sin control, la deuda técnica se acumula, convirtiendo cada modificación en un riesgo. Un sistema complejo es un Frankenstein, vulnerable a fallos inesperados. Thompson no ve la eliminación de código como un retroceso, sino como una reducción de la superficie de error, una simplificación de la arquitectura y una mejora en la seguridad.

¿Y qué tiene que ver esto con la IA? La inteligencia artificial está transformando el mercado laboral, y Thompson, con su insistencia en la simplicidad, parece estar advirtiendo sobre una nueva amenaza: la productividad medida en líneas de código. Las métricas que se utilizan para evaluar el trabajo de los programadores a menudo ignoran el coste oculto de la complejidad, el tiempo que otros necesitan para entender el código, la fragilidad que genera.

“Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”, dijo Bjarne Stroustrup, creador de C++. La filosofía de Go, heredada de Thompson, se centra en la claridad y la simplicidad, rechazando la sintaxis escueta y las complejidades de lenguajes como C++ o Java. Cada elemento que no está en el lenguaje es una complejidad que el programador no tiene que gestionar. En un mundo donde la productividad se mide en líneas de código, esta visión es radical.

La clave es el juicio. Eliminar código no es simplemente quitar líneas; es entender el sistema en profundidad, identificar lo que realmente importa y tener el valor de prescindir del resto. No se trata de escribir más, sino de saber exactamente qué no escribir. Y esa es la lección más importante que podemos aprender de Ken Thompson: la programación, en su esencia, es un arte de la eliminación.