La ciencia es lo que entendemos bien enough para explicar a una computadora; el arte es todo lo demás.
Donald Ervin Knuth es un informático, matemático estadounidense y profesor emérito de la Universidad de Stanford. Es el destinatario del Premio Turing de la ACM de 1974, considerado informalmente como el Premio Nobel de la informática. A Knuth se le ha llamado el "padre del análisis de algoritmos".
Es el autor de la obra de varios volúmenes The Art of Computer Programming. Contribuyó al desarrollo del análisis riguroso de la complejidad computacional de los algoritmos y sistematizó técnicas matemáticas formales para ello. En el proceso también popularizó la notación asintótica. Además de contribuciones fundamentales en varias ramas de la informática teórica, Knuth es el creador del sistema de composición tipográfica de computadora TeX, el lenguaje de definición de fuentes METAFONT relacionado y el sistema de renderizado, y la familia de tipos de letra Computer Modern.
Como escritor y erudito, Knuth creó los sistemas de programación de computadora WEB y CWEB diseñados para alentar y facilitar la programación literaria, y diseñó las arquitecturas de conjunto de instrucciones MIX/MMIX. Knuth se opone firmemente al otorgamiento de patentes de software, habiendo expresado su opinión a la Oficina de Patentes y Marcas Registradas de Estados Unidos y la Organización Europea de Patentes.
Biografía
Primeros años
Knuth nació en Milwaukee, Wisconsin, de padres estadounidenses de origen alemán Ervin Henry Knuth y Louise Marie Bohning. Su padre era propietario de un pequeño negocio de impresión y enseñaba contabilidad. Donald, estudiante de la Escuela Secundaria Luterana de Milwaukee, pensó en formas ingeniosas de resolver problemas. Por ejemplo, en octavo grado, participó en un concurso para encontrar la cantidad de palabras que las letras en "Ziegler's Giant Bar" podrían reorganizarse para crear; los jueces habían identificado 2,500 palabras. Con el tiempo ganado fuera de la escuela debido a un dolor de estómago fingido, y trabajando el problema de otra manera, Knuth usó un diccionario íntegro y determinó si cada entrada del diccionario podría formarse usando las letras en la frase. Usando este algoritmo, identificó más de 4,500 palabras, ganando el concurso. Como premios, la escuela recibió un televisor nuevo y suficientes barras de chocolate para que todos sus compañeros de clase comieran.
Educación
Knuth recibió una beca en física para el Instituto Case de Tecnología, ahora parte de la Universidad Case Western Reserve en Cleveland, Ohio, matriculándose en 1956. También se unió al Capítulo Beta Nu de la fraternidad Theta Chi. Mientras estudiaba física en Case, Knuth fue introducido a la IBM 650, una computadora comercial temprana. Después de leer el manual de la computadora, Knuth decidió reescribir el código de ensamblaje y compilador de la máquina utilizada en su escuela, porque creía que podría hacerlo mejor.
En 1958, Knuth creó un programa para ayudar al equipo de baloncesto de su escuela a ganar sus juegos. Asignó "valores" a los jugadores para medir su probabilidad de obtener puntos, un enfoque novedoso que Newsweek y CBS Evening News informaron posteriormente.
Knuth fue uno de los editores fundadores de Engineering and Science Review del Instituto Case, que ganó un premio nacional como mejor revista técnica en 1959. Luego cambió de física a matemáticas, y recibió dos títulos del Case en 1960: su licenciatura en ciencias, y simultáneamente una maestría en ciencias por un premio especial de la facultad, que consideró su trabajo excepcionalmente sobresaliente.
En 1963, con el matemático Marshall Hall como su asesor, obtuvo un doctorado en matemáticas del Instituto de Tecnología de California.
Primeros trabajos
Después de recibir su doctorado, Knuth se unió a la facultad de Caltech como profesor asistente.
Aceptó una comisión para escribir un libro sobre compiladores de lenguajes de programación. Mientras trabajaba en este proyecto, Knuth decidió que no podía tratar adecuadamente el tema sin antes desarrollar una teoría fundamental de la programación de computadoras, que se convirtió en The Art of Computer Programming. Originalmente planeaba publicar esto como un libro único. A medida que Knuth desarrolló su esquema para el libro, concluyó que requería seis volúmenes, y luego siete, para cubrir completamente el tema. Publicó el primer volumen en 1968.
Justo antes de publicar el primer volumen de The Art of Computer Programming, Knuth dejó Caltech para aceptar empleo en la División de Investigación de Comunicaciones del Instituto para Análisis de Defensa, ubicado en el campus de la Universidad de Princeton, que realizaba investigaciones matemáticas en criptografía para apoyar a la Agencia de Seguridad Nacional.
En 1967 Knuth asistió a la conferencia de la Sociedad de Matemáticas Industriales y Aplicadas y alguien le preguntó qué hacía. En ese momento, la informática se dividía en análisis numérico, inteligencia artificial y lenguajes de programación. Basado en su estudio y el libro The Art of Computer Programming, Knuth decidió que la próxima vez que alguien le preguntara diría: "Análisis de algoritmos".
Knuth luego dejó esta posición para unirse a la facultad de la Universidad de Stanford en 1969, donde ahora es Profesor Emérito de Ciencias de la Computación Fletcher Jones.
Escritos
Knuth es un escritor, así como un informático.
The Art of Computer Programming TAOCP
En la década de 1970, Knuth describió la informática como "un campo completamente nuevo sin identidad real. Y el estándar de las publicaciones disponibles no era tan alto. Muchos de los artículos que salían eran simplemente incorrectos. ... Así que una de mis motivaciones fue enderezar una historia que había sido muy mal contada". Para 2011, se habían publicado los tres primeros volúmenes y la primera parte del volumen cuatro de su serie. Concrete Mathematics: A Foundation for Computer Science 2ª ed., que se originó con una expansión de la sección de preliminares matemáticos del Volumen 1 de TAoCP, también ha sido publicado. En abril de 2020, Knuth dijo que está trabajando ardidamente en la parte B del volumen 4, y anticipa que el libro tendrá al menos las partes A a través de F.
Otras obras
Knuth también es el autor de Surreal Numbers, una noveleta matemática sobre la construcción de la teoría de conjuntos de John Conway de un sistema alternativo de números. En lugar de simplemente explicar el tema, el libro busca mostrar el desarrollo de las matemáticas. Knuth quería que el libro preparara a los estudiantes para realizar investigaciones originales y creativas.
En 1995, Knuth escribió el prólogo del libro A=B de Marko Petkovšek, Herbert Wilf y Doron Zeilberger. Knuth también es un colaborador ocasional de rompecabezas de lenguaje a Word Ways: The Journal of Recreational Linguistics.
Knuth también se ha sumergido en matemáticas recreativas. Contribuyó artículos a la Journal of Recreational Mathematics a partir de los años 1960, y fue reconocido como un colaborador importante en Mathematics on Vacation de Joseph Madachy.
Knuth también ha aparecido en varios videos de Numberphile y Computerphile en YouTube donde ha discutido temas desde escribir Surreal Numbers hasta por qué no usa correo electrónico.
Obras sobre las creencias religiosas de Knuth
Además de sus escritos sobre informática, Knuth, un luterano, también es el autor de 3:16 Bible Texts Illuminated, en el que examina la Biblia mediante un proceso de muestreo sistemático, a saber, un análisis del capítulo 3, versículo 16 de cada libro. Cada versículo va acompañado de una representación en arte caligráfico, contribuida por un grupo de caligrafistas bajo el liderazgo de Hermann Zapf. Posteriormente, fue invitado a dar una serie de conferencias en el MIT sobre sus puntos de vista sobre religión e informática detrás de su proyecto 3:16, lo que resultó en otro libro, Things a Computer Scientist Rarely Talks About, donde publicó las conferencias "God and Computer Science".
Opinión sobre patentes de software
Como miembro de la comunidad académica y científica, Knuth se opone firmemente a la política de otorgamiento de patentes de software para soluciones triviales que deberían ser obvias, pero ha expresado opiniones más matizadas para soluciones no triviales como el método de punto interior de programación lineal. Ha expresado su desacuerdo directamente tanto a la Oficina de Patentes y Marcas Registradas de Estados Unidos como a la Organización Europea de Patentes.
Computer Musings
Knuth da conferencias informales varias veces al año en la Universidad de Stanford, a las que llamó "Computer Musings". Fue profesor visitante en el Departamento de Ciencias de la Computación de la Universidad de Oxford en el Reino Unido hasta 2017 y Miembro Honorario del Magdalen College.
Programación
Composición tipográfica digital
En la década de 1970, los editores de TAOCP abandonaron Monotype en favor de fotocomposición. Knuth se frustró tanto con la incapacidad del último sistema de aproximarse a la calidad de los volúmenes anteriores, que fueron compuestos usando el sistema anterior, que tomó tiempo para trabajar en composición tipográfica digital y creó TeX y Metafont.
Programación literaria
Mientras desarrollaba TeX, Knuth creó una nueva metodología de programación, que llamó programación literaria, porque creía que los programadores deberían pensar en los programas como obras de literatura. "En lugar de imaginar que nuestra tarea principal es instruir a una computadora qué hacer, concentrémonos en explicar a los seres humanos qué queremos que una computadora haga".
Knuth encarnó la idea de programación literaria en el sistema WEB. La misma fuente WEB se utiliza para tejer un archivo TeX, y para desenredar un archivo fuente Pascal. Estos a su vez producen una descripción legible del programa y un binario ejecutable respectivamente. Una iteración posterior del sistema, CWEB, reemplaza Pascal con C.
Knuth usó WEB para programar TeX y METAFONT, y publicó ambos programas como libros: The TeXbook, originalmente publicado en 1984, y The METAFONTbook, originalmente publicado en 1986. Aproximadamente al mismo tiempo, LaTeX, el ahora ampliamente adoptado paquete de macros basado en TeX, fue desarrollado por primera vez por Leslie Lamport, quien posteriormente publicó su primer manual de usuario en 1986.
Música
Knuth es un organista y compositor. En 2016 completó una pieza musical para órgano titulada Fantasia Apocalyptica, que describe como "traducción del texto griego del Apocalipsis de San Juan el Divino a la música". Se estrenó en Suecia el 10 de enero de 2018.
Vida personal
Donald Knuth se casó con Nancy Jill Carter el 24 de junio de 1961, mientras era estudiante de posgrado en el Instituto de Tecnología de California. Tienen dos hijos: John Martin Knuth y Jennifer Sierra Knuth.
Nombre chino
El nombre chino de Knuth es Gao Dena. En 1977, le fue dado este nombre por Frances Yao, poco antes de hacer un viaje de 3 semanas a China. En su volumen de 1980 de The Art of Computer Programming, Knuth explica que adoptó su nombre chino porque quería ser conocido por el número creciente de programadores de computadoras en China en ese momento. En 1989, su nombre chino fue colocado en la parte superior del encabezado de la Journal of Computer Science and Technology, lo que Knuth dice "me hace sentir cercano a todos los pueblos chinos aunque no puedo hablar tu idioma".
Problemas de salud
En 2006, Knuth fue diagnosticado con cáncer de próstata. Se sometió a una cirugía en diciembre de ese año y declaró: "un poco de radioterapia ... como precaución pero el pronóstico se ve bastante bien", como informó en su autobiografía en video.
Humor
Knuth solía pagar una tarifa de búsqueda de $2.56 por cualquier error tipográfico o error descubierto en sus libros, porque "256 centavos es un dólar hexadecimal", y $0.32 por "sugerencias valiosas". Según un artículo de Technology Review del Instituto de Tecnología de Massachusetts, estos cheques de recompensa de Knuth son "entre los trofeos más codiciados de la informática". Knuth tuvo que dejar de enviar cheques reales en 2008 debido al fraude bancario, y en su lugar ahora da a cada buscador de errores un "certificado de depósito" de un saldo listado públicamente en su ficticio "Banco de San Serriffe".

Una vez advirtió a un corresponsal: "Tenga cuidado con los errores en el código anterior; solo lo he probado como correcto, no lo he intentado".
Knuth publicó su primer artículo "científico" en una revista escolar en 1957 bajo el título "El sistema Potrzebie de pesos y medidas". En él, definió la unidad fundamental de longitud como el grosor de Mad No. 26, y nombró a la unidad fundamental de la fuerza "whatmeworry". Mad publicó el artículo en el número 33 de junio de 1957.
Para demostrar el concepto de recursión, Knuth intencionalmente refirió "Definición circular" y "Circular, definición" entre sí en el índice de The Art of Computer Programming, Volumen 1.
El prefacio de Concrete Mathematics tiene el siguiente párrafo:
Cuando DEK enseñó Concrete Mathematics en Stanford por primera vez, explicó el título algo extraño diciendo que era su intento de enseñar un curso de matemáticas que era difícil en lugar de suave. Anunció que, contrariamente a las expectativas de sus colegas, no iba a enseñar la Teoría de Agregados, ni el Teorema de Incrustación de Stone, ni siquiera la compactación de Stone–Čech. (Varios estudiantes del departamento de ingeniería civil se levantaron y salieron silenciosamente de la sala.)
En la Conferencia TUG 2010, Knuth anunció un sucesor satírico basado en XML de TeX, titulado "iTeX" pronunciado , realizado con un toque de campana, que soportaría características como unidades irracionales arbitrariamente escaladas, impresión 3D, entrada de seis


