stringtranslate.com

El arte de la programación informática

El arte de la programación informática ( TAOCP ) es una monografía completa escrita por el informático Donald Knuth que presenta algoritmos de programación y su análisis . Los volúmenes 1 a 5 pretenden representar el núcleo central de la programación informática para máquinas secuenciales.

Cuando Knuth inició el proyecto en 1962, originalmente lo concibió como un solo libro con doce capítulos. Los primeros tres volúmenes de lo que entonces se esperaba que fuera un conjunto de siete volúmenes se publicaron en 1968, 1969 y 1973. El trabajo en serio en el Volumen 4 comenzó en 1973, pero se suspendió en 1977 por el trabajo de composición tipográfica impulsado por la segunda edición. del Volumen 2. La redacción de la copia final del Volumen 4A comenzó a mano en 2001, y el primer prefascículo en línea, el 2A, apareció más tarde en 2001. [1] La primera entrega publicada del Volumen 4 apareció en edición de bolsillo como Fascículo 2 en 2005. El volumen 4A de tapa dura, que combina el volumen 4, fascículos 0 a 4, se publicó en 2011. El volumen 4, fascículo 6 ("Satisfiabilidad") se publicó en diciembre de 2015; El volumen 4, fascículo 5 ("Mathematical Preliminaries Redux; Backtracking; Dancing Links") se publicó en noviembre de 2019.

El volumen 4B consta de material desarrollado a partir de los fascículos 5 y 6. [2] El manuscrito se envió al editor el 1 de agosto de 2022 y el volumen se publicó en septiembre de 2022. [3] El fascículo 7, previsto para el volumen 4C, fue el tema de la charla de Knuth el 3 de agosto de 2022. [4]

Historia

Donald Knuth en 2005

Después de ganar una beca Westinghouse Talent Search , Knuth se matriculó en el Case Institute of Technology (ahora Case Western Reserve University ), donde su desempeño fue tan sobresaliente que la facultad votó para otorgarle una maestría en ciencias al completar su licenciatura . Durante sus vacaciones de verano, Knuth fue contratado por Burroughs Corporation para escribir compiladores , ganando más en sus meses de verano que los profesores titulares durante todo un año. [5] Tales hazañas convirtieron a Knuth en un tema de discusión entre el departamento de matemáticas, que incluía a Richard S. Varga .

En enero de 1962, cuando era un estudiante de posgrado en el departamento de matemáticas de Caltech, Addison-Wesley se acercó a Knuth para que escribiera un libro sobre el diseño de compiladores y propuso un alcance más amplio. El mismo día se le ocurrió una lista de títulos de doce capítulos. En el verano de 1962 trabajó en un compilador FORTRAN para UNIVAC . Durante este tiempo también se le ocurrió un análisis matemático del sondeo lineal , que le convenció para presentar el material desde un enfoque cuantitativo. Después de recibir su Ph.D. En junio de 1963 comenzó a trabajar en su manuscrito, del cual terminó su primer borrador en junio de 1965, en3000 páginas escritas a mano. [6] Había asumido que unas cinco páginas escritas a mano se traducirían en una página impresa, pero su editor dijo en cambio que alrededor de 1+12 páginas escritas a mano traducidas a una página impresa. Esto significaba que tenía aproximadamente2000 páginas impresas de material, que se acerca mucho al tamaño de los tres primeros volúmenes publicados. En este punto, Knuth recibió el apoyo de Richard S. Varga, quien era el asesor científico del editor. Varga estaba visitando a Olga Taussky-Todd y John Todd en Caltech . Con el entusiasta respaldo de Varga, el editor aceptó los planes ampliados de Knuth. En su versión ampliada, el libro se publicaría en siete volúmenes, cada uno con sólo uno o dos capítulos. [7] Debido al crecimiento del Capítulo 7, que tenía menos de 100 páginas del manuscrito de 1965, por vol. 4A pág. vi, el plan para el Volumen 4 se ha ampliado desde entonces para incluir los Volúmenes 4A, 4B, 4C, 4D y posiblemente más.

En 1976, Knuth preparó una segunda edición del Volumen 2, requiriendo que se compusiera nuevamente, pero el estilo tipográfico utilizado en la primera edición (llamado tipografía caliente ) ya no estaba disponible. En 1977, decidió dedicar algún tiempo a crear algo más adecuado. Ocho años después, regresó con T E X , que actualmente se utiliza para todos los volúmenes.

La oferta de un llamado cheque de recompensa Knuth por valor de "un dólar hexadecimal" (100 HEX base 16 centavos, en decimal , es $2,56) por cualquier error encontrado, y la corrección de estos errores en impresiones posteriores, ha contribuido a la publicación altamente pulida. y la naturaleza aún autorizada del trabajo, mucho después de su primera publicación. Otra característica de los volúmenes es la variación en la dificultad de los ejercicios. Knuth incluso tiene una escala de dificultad numérica para calificar esos ejercicios, que varía de 0 a 50, donde 0 es trivial y 50 es una pregunta abierta en la investigación contemporánea.

La dedicatoria de Knuth dice:

Esta serie de libros está dedicada cariñosamente
a la computadora Tipo 650 que alguna vez se instaló en el
Case Institute of Technology ,
con quien he pasado muchas veladas agradables. [a]

Lenguaje ensamblador en el libro.

Todos los ejemplos de los libros utilizan un lenguaje llamado " lenguaje ensamblador MIX ", que se ejecuta en la hipotética computadora MIX. Actualmente, [ ¿cuándo? ] la computadora MIX está siendo reemplazada por la computadora MMIX , que es una versión RISC . Existe software como GNU MDK [8] para proporcionar emulación de la arquitectura MIX. Knuth considera necesario el uso del lenguaje ensamblador para juzgar la velocidad y el uso de memoria de los algoritmos.

respuesta crítica

Knuth recibió el Premio Turing de 1974 "por sus importantes contribuciones al análisis de algoritmos [...], y en particular por sus contribuciones al 'arte de la programación informática' a través de sus conocidos libros en una serie continua con este título". [9] American Scientist ha incluido este trabajo entre "100 libros que dieron forma a un siglo de ciencia", en referencia al siglo XX, [10] . Las portadas de la tercera edición del Volumen 1 citan a Bill Gates diciendo: "Si crees que eres un muy buen programador... lee El arte de la programación informática (de Knuth) ... Definitivamente deberías enviarme un currículum si puedes leerlo completo. " [11] El New York Times se refirió a él como "el tratado que define la profesión". [12]

Volúmenes

Terminado

Planificado

Esquemas del capítulo

Terminado

Volumen 1 – Algoritmos fundamentales

Volumen 2 – Algoritmos seminuméricos

Volumen 3 – Clasificación y búsqueda

Volumen 4A – Algoritmos combinatorios, Parte 1

Volumen 4B – Algoritmos combinatorios, Parte 2

Planificado

Volúmenes 4C, 4D, 4E, 4F – Algoritmos combinatorios [13]

Volumen 5 – Algoritmos sintácticos

Volumen 6 - La teoría de los lenguajes libres de contexto [14]

Volumen 7 – Técnicas de compilación

ediciones en ingles

Ediciones actuales

Estas son las ediciones actuales ordenadas por número de volumen:

Ediciones anteriores

Volúmenes completos

Estos volúmenes fueron reemplazados por ediciones más nuevas y están ordenados por fecha.

fascículos

El Volumen 4, Fascículos 0–4 fueron revisados ​​y publicados como Volumen 4A.

El Volumen 4, Fascículos 5-6 fueron revisados ​​y publicados como Volumen 4B.

Pre-fascículos

Volúmen 1

Volumen 4

Los prefascículos restantes contienen borradores que aparecerán en futuros fascículos y volúmenes.

Ver también

Referencias

Notas

  1. ^ La dedicatoria estaba redactada de forma ligeramente diferente en la primera edición.

Citas

  1. ^ "nota para el cuadro 3, carpeta 1".
  2. ^ Pestaña Contenido del libro de la página web de Pearson InformIT. Profesional de Addison-Wesley. 2022-09-28. ISBN 9780201038064.
  3. ^ Página web de Pearson InformIT. Profesional de Addison-Wesley. 2022-09-28. ISBN 9780201038064.
  4. ^ "Respuestas a todas las preguntas del CP 2022, del 31 de julio al 5 de agosto de 2022, Haifa, Israel".
  5. ^ Frana, Philip L. (8 de noviembre de 2001). "Una entrevista con Donald E. Knuth". hdl :11299/107413.
  6. ^ Knuth, Donald E. (23 de agosto de 1993). "El clásico de citas de esta semana" (PDF) . Contenidos actuales . pag. 8.
  7. ^ Albers, Donald J. (2008). "Donald Knuth". En Albers, Donald J.; Alexanderson, Gerald L. (eds.). Personas matemáticas: perfiles y entrevistas (2 ed.). AK Peters . ISBN 978-1-56881-340-0.
  8. ^ "GNU MDK - Proyecto GNU - Fundación de Software Libre". www.gnu.org . Consultado el 23 de octubre de 2022 .
  9. ^ "Donald E. Knuth - Ganador del premio AM Turing". Soy Turing . Consultado el 25 de enero de 2017 .
  10. ^ Morrison, Felipe ; Morrison, Phylis (noviembre-diciembre de 1999). "Un centenar de libros que dieron forma a un siglo de ciencia". Científico americano . Sigma Xi, Sociedad de Investigación Científica. 87 (6). Archivado desde el original el 20 de agosto de 2008 . Consultado el 11 de enero de 2008 .
  11. ^ Weinberger, mate. "Bill Gates dijo una vez 'definitivamente envíame un currículum' si terminas este libro endiabladamente difícil". Business Insider . Consultado el 13 de junio de 2016 .
  12. ^ Lohr, Steve (17 de diciembre de 2001). "Frances E. Holberton, 84, primera programadora informática". Los New York Times . Consultado el 17 de mayo de 2010 .
  13. ^ D'Agostino, Susan (16 de abril de 2020). "El informático que no puede dejar de contar historias". Revista Quanta . Consultado el 26 de junio de 2023 . Ahora, con 82 años, está trabajando arduamente en la parte B del volumen 4 y anticipa que el libro tendrá al menos las partes A a la F.
  14. ^ "TAOCP - Planes futuros".
  15. ^ ab (PDF) https://www-cs-faculty.stanford.edu/~knuth/brochure.pdf. {{cite web}}: Falta o está vacío |title=( ayuda )
  16. ^ ab Wells, Mark B. (1973). "Revisión: El arte de la programación informática, volumen 1. Algoritmos fundamentales y volumen 2. Algoritmos seminuméricos de Donald E. Knuth" (PDF) . Boletín de la Sociedad Matemática Estadounidense . 79 (3): 501–509. doi : 10.1090/s0002-9904-1973-13173-8 .

Fuentes

enlaces externos