Conferencia de Directores y Decanos de Ingeniería Informática

Mensajes etiquetados Jeffrey David Ullman

El ‘nobel de la informática’ reconoce a dos profesores que sentaron las bases del lenguaje de programación

Alfred Vaino Aho, de Columbia, y Jeffrey Davil Ullman, de Stanford, desarrollaron herramientas y libros de texto fundamentales utilizados por millones de programadores de software en todo el mundo. 

La ACM ha nombrado a Alfred Vaino Aho y Jeffrey David Ullman ganadores del Premio ACM A.M. Turing 2020 por los algoritmos y la teoría fundamentales que subyacen a la implementación de los lenguajes de programación y por sintetizar estos resultados y los de otros en sus influyentes libros, que han formado a generaciones de informáticos. Aho es profesor emérito de informática Lawrence Gussman en la Universidad de Columbia. Ullman es profesor emérito de informática Stanford W. Ascherman en la Universidad de Stanford.

Los programas informáticos impulsan casi todas las tecnologías con las que interactuamos. Prácticamente todos los programas que funcionan en nuestro mundo -desde los que están en nuestros teléfonos o en nuestros coches hasta los que se ejecutan en gigantescas granjas de servidores dentro de las grandes empresas web- están escritos por humanos en un lenguaje de programación de alto nivel y luego se compilan en código de bajo nivel para su ejecución. Gran parte de la tecnología para realizar esta traducción de los lenguajes de programación modernos debe sus inicios a Aho y Ullman.

A partir de su colaboración en los Laboratorios Bell en 1967 y durante varias décadas, Aho y Ullman han dado forma a los fundamentos de la teoría e implementación de los lenguajes de programación, así como al diseño y análisis de algoritmos. Hicieron amplias y fundamentales aportaciones al campo de los compiladores de lenguajes de programación a través de sus contribuciones técnicas e influyentes libros de texto. Sus primeros trabajos conjuntos en técnicas de diseño y análisis de algoritmos aportaron enfoques cruciales al núcleo teórico de la informática que surgió durante este periodo.

«La práctica de la programación informática y el desarrollo de sistemas de software cada vez más avanzados son la base de casi todas las transformaciones tecnológicas que hemos experimentado en la sociedad durante las últimas cinco décadas», explica la presidenta de la ACM, Gabriele Kotsis. «Aunque innumerables investigadores y profesionales han contribuido a estas tecnologías, el trabajo de Aho y Ullman ha sido especialmente influyente. Nos han ayudado a comprender los fundamentos teóricos de los algoritmos y a trazar el rumbo de la investigación y la práctica en el diseño de compiladores y lenguajes de programación. Aho y Ullman han sido líderes de opinión desde principios de la década de 1970, y su trabajo ha guiado a generaciones de programadores e investigadores hasta la actualidad.»

«Aho y Ullman establecieron ideas fundamentales sobre algoritmos, lenguajes formales, compiladores y bases de datos, que fueron fundamentales para el desarrollo del panorama actual de la programación y el software», añadió Jeff Dean, Senior Fellow de Google y SVP de Google AI. «También han ilustrado cómo estas diversas disciplinas están estrechamente interconectadas». Aho y Ullman introdujeron conceptos técnicos clave, incluidos algoritmos específicos, que han sido esenciales. En cuanto a la enseñanza de las ciencias de la computación, sus libros de texto han sido el estándar de oro para la formación de estudiantes, investigadores y profesionales.»

Una larga colaboración

Aho y Ullman se doctoraron en la Universidad de Princeton antes de incorporarse a los Laboratorios Bell, donde trabajaron juntos de 1967 a 1969. Durante su estancia en los Laboratorios Bell, sus primeros esfuerzos incluyeron el desarrollo de algoritmos eficientes para analizar y traducir lenguajes de programación.

En 1969, Ullman comenzó una carrera académica, incorporándose finalmente a la facultad de la Universidad de Stanford, mientras que Aho permaneció en los Laboratorios Bell durante 30 años antes de incorporarse a la facultad de la Universidad de Columbia. A pesar de trabajar en instituciones diferentes, Aho y Ullman siguieron colaborando durante varias décadas, durante las cuales fueron coautores de libros y artículos e introdujeron técnicas novedosas para algoritmos, lenguajes de programación, compiladores y sistemas de software.

Libros de texto influyentes

Aho y Ullman fueron coautores de nueve libros influyentes (incluyendo las primeras y posteriores ediciones). Dos de sus libros más célebres son:

The Design and Analysis of Computer Algorithms (1974)
Este libro, del que son coautores Aho, Ullman y John Hopcroft, se considera un clásico en este campo y fue uno de los más citados en la investigación en ciencias de la computación durante más de una década. Se convirtió en el libro de texto estándar para los cursos de algoritmos en todo el mundo cuando la informática era todavía un campo emergente. Además de incorporar sus propias contribuciones de investigación a los algoritmos, The Design and Analysis of Computer Algorithms introdujo la máquina de acceso aleatorio (RAM) como modelo básico para analizar la complejidad temporal y espacial de los algoritmos informáticos utilizando relaciones de recurrencia. El modelo RAM también codificó algoritmos individuales dispares en métodos de diseño generales. El modelo RAM y las técnicas generales de diseño de algoritmos introducidas en este libro forman ahora parte integral del plan de estudios estándar de informática.

Principios de diseño de compiladores (1977)
Este libro definitivo sobre la tecnología de los compiladores, del que son coautores Aho y Ullman, integra la teoría formal del lenguaje y las técnicas de traducción dirigidas a la sintaxis en el proceso de diseño de compiladores. Llamado a menudo el «Libro del Dragón» por el diseño de su portada, expone con lucidez las fases de traducción de un lenguaje de programación de alto nivel a código máquina, modularizando toda la empresa de construcción de compiladores. Incluye las contribuciones algorítmicas que los autores hicieron a las técnicas eficientes para el análisis léxico, las técnicas de análisis sintáctico y la generación de código. La edición actual de este libro, Compilers: Principles, Techniques and Tools (en coautoría con Ravi Sethi y Monica Lam), se publicó en 2007 y sigue siendo el libro de texto estándar sobre diseño de compiladores.

Fuente: ACM