Uno de los días más productivos de Ken Thompson fue cuando eliminó 1.000 líneas de código. Esa anécdota, que puede parecer paradójica, resume su enfoque: programar bien no consiste en escribir más, sino en discernir qué no hace falta escribir.
Quién es Ken Thompson y por qué su visión sobre el código importa
Thompson empezó a influir en el software a finales de los años sesenta, cuando, junto con Dennis Ritchie, desarrolló Unix en los laboratorios Bell. Unix no solo fue un sistema operativo, sino una nueva forma de concebir la computación: herramientas pequeñas y modulares que realizan una tarea concreta y se combinan para resolver problemas mayores.
Esa filosofía de simplicidad y minimalismo permeó sus proyectos posteriores. El lenguaje B, diseñado por Thompson como sucesor de BCPL, fue un paso clave que permitió a Ritchie crear C, que se convirtió en la referencia en programación de sistemas durante décadas.
Más adelante, ya en Google, Thompson co-creó Go, un lenguaje orientado a sistemas de producción a gran escala que repite la misma idea: priorizar la claridad sobre la complejidad y la sencillez sobre la sofisticación innecesaria.
Por qué eliminar código puede ser más valioso que escribirlo
Cada línea de código añadida supone una carga adicional: alguien debe leerla, entenderla y mantenerla. También es una posible fuente de errores, un elemento que requiere pruebas y un factor que complica modificaciones futuras.
Si un sistema crece sin control, la deuda técnica se acumula hasta que incluso cambios menores se vuelven riesgosos. En ese contexto, quitar código no es retroceder, sino reducir la superficie de error, simplificar la arquitectura y dejar el sistema en mejores condiciones para evolucionar con rapidez y seguridad.
Eliminar código exige más criterio que añadir funcionalidad: obliga a comprender el sistema en profundidad, distinguir lo esencial de lo prescindible y tomar decisiones que favorezcan la mantenibilidad a largo plazo.
Cómo Go encarna la filosofía de Thompson
Go fue creado con la misma preocupación por la claridad que caracterizó a Unix y a B. Frente a lenguajes como C++ o Java, su sintaxis es intencionalmente directa, su sistema de tipos es sencillo y sus primitivas de concurrencia están diseñadas para ser comprensibles, no solo potentes.
En Go se aplica la regla de que lo que no está en el lenguaje evita complejidad para el desarrollador: las omisiones son decisiones deliberadas que reducen la carga cognitiva. Esa visión contrasta con prácticas en las que la productividad se mide por líneas de código, una métrica que no refleja el coste de mantenimiento ni la fragilidad que genera el crecimiento desordenado.
Qué es el desarrollo de software
El desarrollo de software es el proceso de diseñar, programar, probar y mantener instrucciones que indican a una computadora qué hacer y cómo hacerlo. Esas instrucciones, escritas en lenguajes como Python, Java, C o Go, son la base de aplicaciones, sistemas operativos, sitios web y herramientas digitales.
El desarrollo abarca más que escribir código: incluye el análisis de requisitos, el diseño de la arquitectura, la implementación, las pruebas para detectar errores y el mantenimiento continuo una vez que el software está en uso.
Cada fase implica decisiones técnicas y de criterio que determinan si el resultado será un sistema robusto, eficiente y fácil de modificar, o uno frágil que acumule problemas con el tiempo.

