Geeks famososHistoriaProgramaciónAlgoritmosTipografía digital

Donald Knuth: el arte de programar y TeX

· · 12 min de lectura

Ver todo: Geeks famosos

Hay un chiste que circula entre programadores: si quieres aprender a programar de verdad, lee The Art of Computer Programming. Si quieres saber cuánto tiempo te queda de vida, averigua cuántos volúmenes faltan por publicar. El chiste funciona porque los cuatro volúmenes que existen hasta ahora — de los siete planeados originalmente — ya representan más de cinco décadas de trabajo continuo, y su autor, Donald Ervin Knuth, todavía los está escribiendo a los 88 años. No como reliquia del pasado. Como proyecto activo.

Knuth nació el 10 de enero de 1938 en Milwaukee, Wisconsin. Es estadounidense, es matemático y es el hombre que convirtió el análisis de algoritmos en una disciplina académica rigurosa cuando antes era solo intuición. También es el hombre que, a finales de los años setenta, se frustró tanto con la calidad tipográfica de sus propios libros que dejó todo lo que estaba haciendo para inventar un sistema de tipografía digital desde cero. El resultado fue TeX, el estándar de facto para publicaciones matemáticas y científicas en todo el mundo, y que sigue siendo la herramienta de referencia casi cinco décadas después. Ambos proyectos — TAOCP y TeX — son la obra de una sola persona que decidió que, si algo no existía con la calidad suficiente, lo construía él mismo.

Lo esencial sobre Donald Knuth

  • Nació el 10 de enero de 1938 en Milwaukee, Wisconsin — sigue vivo y trabajando a los 88 años como profesor emérito de Stanford
  • Recibió el Premio Turing en 1974, reconocido por la ACM por sus contribuciones al análisis de algoritmos y el diseño de lenguajes de programación, con especial énfasis en TAOCP
  • Escribió The Art of Computer Programming desde 1962, una obra de siete volúmenes planeados de la que hasta 2025 se han publicado cuatro; el Volumen 4B apareció en 2022 y el Fascículo 7 en febrero de 2025
  • Creó TeX en 1977–1978 por frustración con la calidad tipográfica de sus propios libros; TeX se convirtió en el estándar mundial para documentos matemáticos y científicos y permanece prácticamente sin cambios desde 1989
  • Popularizó y formalizó la notación Big-O en ciencias de la computación en los años setenta, añadiendo además las notaciones Omega y Theta — hoy el vocabulario estándar para expresar complejidad algorítmica
  • Acuñó el concepto de “programación literaria” (literate programming), una filosofía donde el código y su documentación se escriben como un solo documento coherente, primero para lectores humanos y después para compiladores

Visita Geeks famosos en GeekShop para conocer más perfiles de las personas que construyeron el mundo digital.


Orígenes y el camino hacia los algoritmos

Donald Knuth creció en Milwaukee en una familia de clase media. Su padre era maestro de escuela y llevaba un negocio de contabilidad; las matemáticas eran parte del ambiente cotidiano. Desde bachillerato, Knuth mostró una inclinación particular no solo por los números sino por la necesidad de explicar con precisión. A los 19 años, mientras estudiaba en la Case Institute of Technology (hoy Case Western Reserve University), publicó su primer artículo técnico — un análisis de los métodos numéricos del equipo de basquetbol de su escuela. Era 1957, y ya dejaba ver cómo pensaba: con datos, con rigor, buscando el método correcto.

Se graduó con distinción en 1960 con una licenciatura en matemáticas. La institución le otorgó también una maestría honoraria ese mismo día — un gesto infrecuente que reconocía que su dominio del material superaba el nivel normal del grado. Continuó su formación en el California Institute of Technology, donde obtuvo su maestría y su doctorado en matemáticas en 1963, bajo la supervisión de Marshall Hall Jr.

1962–1973

El tratado que ningún libro había intentado

En 1962, siendo aún estudiante de doctorado, Knuth fue contactado por la editorial Addison-Wesley para escribir un libro sobre compiladores — la tecnología que traduce lenguajes de programación a instrucciones de máquina. Knuth aceptó. Lo que no anticipó nadie, incluyendo él mismo, es que ese encargo se transformaría en un proyecto de toda la vida.

A medida que investigaba, Knuth se dio cuenta de que no existía ningún tratamiento sistemático y riguroso de los algoritmos que usaban los compiladores ni de la computación en general. Cada técnica vivía en artículos dispersos, sin notación común, sin análisis de eficiencia, sin pruebas formales. Decidió que el libro que había prometido tendría que construir ese fundamento desde cero. Lo que empezó como un volumen se convirtió en siete. El primer fascículo de The Art of Computer Programming fue distribuido en 1965; los Volúmenes 1, 2 y 3 fueron publicados en 1968, 1969 y 1973 respectivamente.

Esos tres volúmenes — sobre estructuras de datos y algoritmos fundamentales, métodos seminuméricos, y ordenamiento y búsqueda — establecieron el campo del análisis de algoritmos como disciplina académica. Antes de TAOCP, analizar la eficiencia de un algoritmo era una práctica informal. Después, era matemáticas.


Sus aportes: TeX, algoritmos y la programación literaria

El camino de Knuth hacia TeX tiene una fecha precisa: 1976. Ese año recibió las galeradas de prueba del segundo volumen de TAOCP. La calidad tipográfica lo perturbó profundamente — la editorial había migrado a un sistema de fotocomposición digital que producía resultados que, en su opinión, eran inferiores a los de la edición original compuesta con el sistema Monotype. Para alguien que entendía la tipografía como parte integral de la comunicación matemática, aquello era inaceptable.

1977–1989

TeX: cuando la frustración produce un estándar mundial

Lo que Knuth hizo a continuación es casi sin precedente en la historia de la ingeniería: interrumpió el proyecto de su vida — TAOCP — para construir desde cero un sistema de tipografía digital que produjera resultados de calidad de imprenta. La tarea, que estimaba en unos meses, le tomó aproximadamente diez años.

Entre 1977 y 1978 desarrolló TeX, un sistema de composición tipográfica basado en reglas matemáticas para el espaciado y la ubicación de caracteres. A diferencia de los procesadores de texto convencionales, TeX no trabaja con aproximaciones visuales sino con cálculos precisos de la posición óptima de cada elemento en la página. El resultado es una calidad tipográfica que, para documentos con fórmulas matemáticas complejas, sigue siendo difícil de igualar con cualquier otro sistema.

Al mismo tiempo desarrolló METAFONT, un lenguaje para definir familias de fuentes tipográficas mediante ecuaciones matemáticas, y diseñó la familia de fuentes Computer Modern que se convirtió en el estándar visual de la literatura matemática durante décadas. La última versión estable de TeX, lanzada en 1989, ha tenido solo correcciones de errores desde entonces. Knuth declaró que el sistema estaba terminado — una postura extraordinariamente inusual en el mundo del software.

La versión actual de TeX es 3.141592653, aproximándose asintóticamente a π. Cuando Knuth muera, el número se fijará permanentemente en π.


Cronología: de Milwaukee a la historia de la computación

Año Evento
1938 Nace el 10 de enero en Milwaukee, Wisconsin
1960 Se gradúa con distinción de la Case Institute of Technology; recibe también una maestría honoraria
1963 Obtiene su doctorado en matemáticas en el California Institute of Technology
1962 Comienza a escribir lo que se convertirá en The Art of Computer Programming
1968 Publica el Volumen 1 de TAOCP: Fundamental Algorithms
1969 Publica el Volumen 2: Seminumerical Algorithms
1971 Recibe el primer ACM Grace Murray Hopper Award
1973 Publica el Volumen 3: Sorting and Searching
1974 Recibe el Premio Turing de la ACM — la distinción más alta en ciencias de la computación
1977–1978 Desarrolla TeX y METAFONT por frustración con la calidad tipográfica de sus libros
1979 Recibe la National Medal of Science, entregada por el presidente Jimmy Carter
1981 Introduce el concepto de “programación literaria” con el sistema WEB
1990 Stanford le crea la primera cátedra universitaria con el título “The Art of Computer Programming”
1995 Recibe el Harvey Prize; 1996 el Kyoto Prize
1999 Recibe la Medalla Franklin del Instituto Franklin
2011 Publica el Volumen 4A de TAOCP: Combinatorial Algorithms, Part 1
2022 Publica el Volumen 4B de TAOCP: Combinatorial Algorithms, Part 2
2025 Publica el Fascículo 7 de TAOCP en febrero; sigue trabajando en el Volumen 4C
La optimización prematura es la raíz de todos los males en la programación — o al menos de la mayoría de ellos.

Esta frase aparece en el Volumen 1 de The Art of Computer Programming y es una de las más citadas en toda la historia de la ingeniería de software. Su significado preciso es frecuentemente malinterpretado: Knuth no argumenta que la eficiencia no importe, sino que preocuparse por micro-optimizaciones antes de entender bien el problema es un error sistemático. El contexto completo dice que el 97% del tiempo, esas optimizaciones son irrelevantes; el 3% donde sí importan, primero hay que identificarlas con datos, no con intuición.


Mitos y realidad

La figura de Knuth acumula varios malentendidos, algunos que lo idealizan como un ermitaño incomprensible y otros que minimizan la accesibilidad real de su trabajo. Ninguno de los dos extremos hace justicia.


TeX se distribuye como software libre desde 1982. La versión actual sigue siendo prácticamente idéntica a la de 1989. Para publicaciones con fórmulas matemáticas complejas, sigue siendo el estándar técnico preferido en revistas científicas, editoriales académicas y repositorios como arXiv.

Si quieres seguir explorando los perfiles de quienes construyeron los cimientos de la computación moderna, visita Alan Turing: el padre de la computación moderna — el matemático que definió qué es una computadora antes de que existiera ninguna — y Dennis Ritchie: el creador de C y co-creador de Unix, cuyo trabajo convirtió esos fundamentos teóricos en infraestructura práctica que sigue corriendo hoy.


FAQ

¿Donald Knuth sigue vivo?

Sí. Knuth nació el 10 de enero de 1938 y tiene 88 años al momento de publicar este perfil. Es profesor emérito de la Universidad de Stanford y sigue trabajando activamente en los volúmenes pendientes de The Art of Computer Programming. En febrero de 2025 publicó el Fascículo 7 del Volumen 4, y en marzo de 2026 publicó un artículo académico relacionado con un problema matemático que una inteligencia artificial le ayudó a resolver — lo que da idea de su actividad intelectual actual.

¿Qué tan importante es TAOCP realmente? ¿No está desactualizado?

TAOCP es un tratado de fundamentos, no un manual de frameworks modernos. Los algoritmos descritos en los volúmenes publicados — estructuras de datos, métodos de ordenamiento, búsqueda, generación de números pseudoaleatorios, combinatoria — son los mismos que operan dentro de bases de datos, compiladores, sistemas operativos y herramientas de criptografía que usas hoy. Lo que cambia con el tiempo son los lenguajes y las arquitecturas de hardware; los fundamentos matemáticos de los algoritmos no cambian. El análisis de complejidad que Knuth codificó en los años sesenta y setenta sigue siendo la forma estándar de comparar la eficiencia de algoritmos en 2026.

¿Qué es exactamente TeX y en qué se diferencia de LaTeX?

TeX es el sistema de tipografía digital creado por Knuth entre 1977 y 1989. LaTeX es un conjunto de macros de alto nivel escrito por Leslie Lamport en los años ochenta que se ejecutan sobre TeX, facilitando enormemente su uso sin conocer todos los detalles del sistema subyacente. La relación es similar a la de un lenguaje de programación (TeX) y una biblioteca (LaTeX) que simplifica su uso. Cuando alguien dice que “usa LaTeX” para escribir artículos académicos, está usando el trabajo de Knuth como motor invisible. La mayoría de las revistas científicas, editoriales académicas y el repositorio de preprints arXiv aceptan o requieren documentos en LaTeX.

¿Por qué Knuth nunca terminó TAOCP si lleva más de 60 años trabajando en él?

El proyecto creció en alcance antes de que empezara formalmente. Knuth planeó originalmente siete volúmenes que cubrirían todos los algoritmos fundamentales conocidos en los años sesenta. Desde entonces, el campo de los algoritmos se ha expandido de manera enorme — la combinatoria, la teoría de grafos, los algoritmos de satisfacibilidad, las estructuras de datos avanzadas — y Knuth ha mantenido el estándar de rigor y profundidad desde el principio. Además, TeX le consumió aproximadamente una década. A los 88 años trabaja en el Volumen 4C. En entrevistas ha indicado que se contenta con dejar el proyecto tan completo como pueda dentro de su vida, sin necesidad de llegar al Volumen 7.

¿Qué es la “optimización prematura” y por qué esa frase es tan repetida?

La frase completa de Knuth en TAOCP dice que los programadores pierden cantidades enormes de tiempo preocupándose por la eficiencia en los lugares equivocados y en los momentos equivocados, y que la optimización prematura es la raíz de la mayoría de los males en programación. El argumento central es que antes de optimizar hay que medir: el 97% del tiempo, las partes del código que intuitivamente parecen lentas no son el cuello de botella real. Optimizarlas desperdicia tiempo de desarrollo y complica el código innecesariamente. El 3% donde la optimización sí importa — las secciones que realmente consumen la mayor parte del tiempo de cómputo — hay que identificarlas con datos y profiling, no con intuición. La frase se cita tanto porque el error que describe es universal y persistente, independientemente de la época o el lenguaje de programación.

Fuentes

Los datos biográficos de esta guía se apoyan en fuentes autoritativas:

  • Donald KnuthEncyclopædia Britannica (biografía y aportaciones)

¿Te late lo que viene?

Regístrate y entérate cuando abramos.

Avísenme cuando abran