Ken Thompson: el secreto para ser más productivo eliminando código

Descubre por qué Ken Thompson consideró su día más productivo cuando eliminó 1.000 líneas de código. La clave es la simplicidad.
Ken Thompson explicant com augmentar la productivitat programant menys codi i evitant complicacions innecessàries
Ken Thompson explicando cómo aumentar la productividad programando menos código y evitando complicaciones innecesarias

Imagina a uno de los genios fundacionales de la informática, Ken Thompson, celebrando que uno de sus días más productivos fue cuando eliminó 1.000 líneas de código. No es ironía, es una filosofía que cambia la manera de programar.

Cuando un legendario creador como él defiende que menos es más en programación, vale la pena detenerse a pensar y plantearnos si estamos valorando realmente la productividad en el mundo del desarrollo.

Quién es Ken Thompson y por qué sus ideas importan

El creador de Unix y la revolución de la simplicidad

Ken Thompson, junto con Dennis Ritchie, creó Unix en los años sesenta en los laboratorios Bell, un sistema que no solo era un sistema operativo, sino una nueva forma de entender la computación.

Unix se basa en herramientas pequeñas y modulares que hacen una sola cosa pero muy bien, y que se pueden combinar entre ellas. Esa filosofía de construcción sencilla y eficiente ha marcado su trayectoria y la de toda la industria.

El lenguaje B y el origen de Go

Thompson diseñó el lenguaje B, precursor directo del famoso C desarrollado por Ritchie. Esta evolución estableció las bases para la programación de sistemas durante décadas.

Más tarde, ya en Google, co-creó Go, un lenguaje con la misma obsesión por la claridad, la simplicidad y la eficiencia, dejando claro que en programación la complejidad no es aliada.

Por qué eliminar código es a menudo más valioso que escribirlo

Los riesgos de sumar líneas sin control

Cada línea de código nueva es una oportunidad más para errores, bugs y complicaciones futuras. Cuando un proyecto crece sin criterio, su «deuda técnica» se dispara y cualquier cambio se vuelve una apuesta arriesgada.

Eliminar código reduce la superficie de error, simplifica la arquitectura y hace que los futuros cambios sean más ágiles y seguros. No es retroceder, es avanzar con más solidez.

El criterio detrás de la simplificación

Quitar código exige entender profundamente el sistema, identificar qué es realmente necesario y tener el valor de prescindir de lo que sobra.

Esta decisión es más difícil que añadir funcionalidad nueva, pero es la que marca la diferencia entre un código claro y mantenible o un lío imposible de gestionar.

La filosofía de Go y el legado de Ken Thompson

Go, un lenguaje hecho para la claridad

Go nació para ofrecer una sintaxis sucinta, un sistema de tipos directo y mecanismos de concurrencia fáciles de entender, evitando la complejidad innecesaria de lenguajes como C++ o Java.

Todo lo que no está en el lenguaje es una complejidad que el programador no debe gestionar, y eso refleja perfectamente la filosofía de Thompson.

El debate sobre la productividad en programación

Muchos aún miden la productividad por la cantidad de líneas escritas, ignorando que el costo real está en la acumulación de código difícil de entender y mantener.

Ken Thompson lo resumió: programar bien no es escribir más, sino saber qué no hace falta escribir. Un mensaje que los mejores ingenieros de software practican desde hace décadas.

Aspecto Medida por líneas de código Medida por simplicidad
Productividad Cantidad de código escrito Código funcionando y claro
Mantenibilidad Complicado por el exceso Fácil de entender y cambiar
Riesgos Más bugs y errores Menos posibilidades de error

La clave es reducir la complejidad para aumentar la calidad.

La reflexión de Ken Thompson no es solo una anécdota, sino una guía para todos los que quieran mejorar como programadores y como equipo.

Si eres desarrollador, pregúntate cuál es tu día más productivo: ¿escribir más o simplificar?

La realidad es que entender cuándo eliminar código y cómo hacerlo con criterio es uno de los verdaderos secretos para dominar el desarrollo de software.