Ken thompson: eliminar código es el secreto de la productividad

El genio detrás de Unix, Go y el lenguaje B, Ken Thompson, ha revelado un hallazgo sorprendente: uno de sus días más productivos llegó al deshacerse de mil líneas de código. No es una anécdota menor, sino una declaración de principios sobre la eficiencia y la simplicidad en el desarrollo de software, un mantra que choca con la obsesión actual por la cantidad sobre la calidad.

La filosofía minimalista que revolucionó la computación

Thompson, cuyo nombre resuena en los laboratorios Bell y ahora en Google, no es un novato en la materia. Su trabajo con Dennis Ritchie en la creación de Unix, un sistema operativo que definió una nueva forma de entender la computación, sentó las bases para su posterior labor en el lenguaje B, precursor directo de C. Luego, Go reafirmó su compromiso con la sencillez, un lenguaje diseñado para sistemas de producción a gran escala donde la claridad supera a la complejidad.

Pero ¿por qué tanta insistencia en la eliminación? La respuesta es sencilla: cada línea de código es una carga. Una responsabilidad adicional que requiere lectura, mantenimiento y, potencialmente, la incubación de un error. Cuanto más complejo es un sistema, más difícil es modificarlo sin generar consecuencias imprevistas. La deuda técnica, como la llaman los ingenieros, se acumula silenciosamente hasta convertir cualquier cambio en una operación de alto riesgo. Y ahí es donde entra la maestría de Thompson: reducir la superficie de error no es retroceder, es avanzar hacia un sistema más robusto y adaptable.

¿La productividad se mide en líneas de código?

¿La productividad se mide en líneas de código?

La práctica de Thompson desafía una métrica común en el mundo del desarrollo: la cantidad de líneas de código escritas. En muchos equipos, la productividad se equipara a la capacidad de generar código, ignorando el coste oculto de la complejidad. El tiempo invertido en entender y mantener ese código, la fragilidad que introduce en el sistema. todo eso se suma a la carga, ralentizando el desarrollo y aumentando el riesgo de fallos. Bjarne Stroustrup, el creador de C++, lo expresó con una frase lapidaria: “Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”. La clave, según Thompson, reside en la capacidad de discernir qué es esencial y qué puede prescindirse, una habilidad que exige un conocimiento profundo del sistema y un juicio implacable.

Go, con su sintaxis concisa y su enfoque en la claridad, es la manifestación más reciente de esta filosofía. Cada elemento innecesario se elimina, cada concepto se simplifica. La prioridad no es ofrecer una funcionalidad ilimitada, sino garantizar que cada herramienta sea fácil de entender y utilizar. En un mundo donde la tentación de añadir complejidad es constante, la lección de Ken Thompson es un recordatorio valioso: a veces, lo más productivo que podemos hacer es borrar.

La asistencia de la Inteligencia Artificial en la programación puede ser un arma de doble filo si no se equilibra con un pensamiento crítico. La habilidad de un ingeniero no está en generar código a toda velocidad, sino en comprender la necesidad y construir soluciones eficientes y mantenibles. La filosofía minimalista de Thompson es un faro en la niebla de la complejidad.