# Alfred Aho

Alfred Vaino Aho (nascut el 9 d'agost de 1941) és un informàtic canadenc conegut principalment per la seva feina sobre llenguatges de programació, compiladors, i algorismes relacionats, i pels seus llibres de text sobre l'art i la ciència de la programació informàtica.

## Carrera

Aho es va llicenciar en Enginyeria Física a la Universitat de Toronto i va fer un doctorat en Enginyeria Elèctrica/Informàtica a la Universitat de Princeton. Va fer recerca als Laboratoris Bell entre 1967 i 1991, i també entre 1997 i 2002 com a vicepresident del Centre de Recerca en Informàtica. El 2011 tenia la Càtedra Lawrence Gussman d'Informàtica a la Universitat de Colúmbia. Va dirigir el departament entre 1995 i 1997, i també la primavera de 2003.
En la seva tesi doctoral, Aho va crear gramàtiques indexades i l'autòmat de pila imbricada com a vehicles per estendre la potència dels llenguatges lliures de context, però conservant moltes de les seves propietats de decidibilitat i clausura. Les gramàtiques indexades s'han utilitzat per modelar sistemes de reescriptura en paral·lel, sobretot en aplicacions biològiques.
Després de graduar-se a Princeton, Aho va passar a treballar al Centre de Recerca en Informàtica dels Laboratoris Bell, on va idear algorismes eficients de cerca de cadenes i d'expressions regulars que va implementar en les primeres versions de les eines Unix egrep i fgrep. L'algorisme de fgrep es coneix com a algorisme Aho-Corasick; l'utilitzen diferents sistemes de cerca bibliogràfica, incloent el que va desenvolupar Margaret J. Corasick, i altres aplicacions de cerca de cadenes.
Als Bell Labs, Aho va treballar amb Steve Johnson i Jeffrey Ullman per desenvolupar algorismes eficients per analitzar i traduir llenguatges de programació. Steve Johnson va utilitzar els algorismes d'anàlisi de baix a dalt LALR per crear el generador d'analitzadors sintàctics yacc, i Michael E. Lesk i Eric Schmidt van utilitzar els algorismes de cerca de patrons i expressions regulars d'Aho per crear el generador d'analitzadors lèxics lex. Les eines lex i yacc i els seus derivats s'han utilitzar per desenvolupar molts dels compiladors dels llenguatges actuals.
Aho i Ullman van escriure una sèrie de llibres de text sobre tècniques de compilació que reunien la teoria rellevant al disseny de compiladors. Al seu llibre de 1977 Principles of Compiler Design hi sortia un drac verd a la portada i es va conèixer col·loquialment com "el llibre del drac verd". El 1986, Aho i Ullman, juntament amb Ravi Sethi van fer-ne una nova edició, "el llibre del drac vermell", i el 2007, amb Monica Lam van crear "el llibre del drac lila". Els llibres del drac són els textos sobre compiladors més utilitzats en tot el món.
El 1974, Aho, John Hopcroft, i Ullman van escriure Design and Analysis of Computer Algorithms, reunint les seves primeres recerques sobre algorismes. Aquest llibre va arribar a ser un dels més citats en informàtica durant dècades, i va estimular la creació d'assignatures sobre algorismes i estructures de dades com a part primordial del temari d'informàtica.
Aho també és molt conegut per ser coautor del llenguatge de programació Awk, juntament amb Peter J. Weinberger i Brian Kernighan (la "A" ve d'"Aho"). El 2010, els interessos de recerca d'Aho inclouen llenguatges de programació, compiladors, algorismes i informàtica quàntica. Forma part del grup de recerca sobre Llenguatge i Compiladors de la Universitat de Colúmbia.
En total, a data de 25 de juny de 2016, les seves obres s'havien citat 52.715 vegades i tenia un índex h de 60.
Aho ha rebut moltes distincions de prestigi, com la Medalla John von Neumann de l'IEEE, i és membre de l'Acadèmia Nacional d'Enginyeria. Fou nomenat Fellow de l'Acadèmia Americana de les Arts i les Ciències el 2003. És doctor honoris causa per la Universitat de Waterloo, la Universitat de Hèlsinki, la Universitat de Toronto, i és Fellow de l'American Association for the Advancement of Science, ACM, Bell Labs, i l'IEEE. Va guanyar el Premi Gran Professor de la Societat de Graduats de Colúmbia el 2003.
Aho ha estat dues vegades president del Comitè Consultiu per a Enginyeria Informàtica i Ciències de la Informació de la National Science Foundation. També fou president del SIG de l'ACM sobre Algorismes i Teoria de la Computabilitat.

## Llibres

* A. V. Aho i J. D. Ullman, The Theory of Parsing, Translation, and Compiling, Vol. 1, Parsing. Prentice Hall, 1972. ISBN 0-13-914556-7
* A. V. Aho (ed.) Currents in the Theory of Computing. Prentice Hall, 1973.
* A. V. Aho i J. D. Ullman, The Theory of Parsing, Translation, and Compiling, Vol. 2, Compiling. Prentice-Hall, 1973. ISBN 978-0-13-914564-3
* A. V. Aho, J. E. Hopcroft, J. D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974. ISBN 0-201-00023-7
* A. V. Aho i J. D. Ullman, Principles of Compiler Design. Addison-Wesley, 1977. ISBN 0-201-00022-9
* A. V. Aho, J. E. Hopcroft, J. D. Ullman, Data Structures and Algorithms. Addison-Wesley, 1983. ISBN 0-201-00023-7
* A. V. Aho, R. Sethi, J. D. Ullman, Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading MA 1986. ISBN 0-201-10088-6
* A. V. Aho, B. W. Kernighan, i P. J. Weinberger, The AWK Programming Language. Addison-Wesley, 1988. ISBN 978-0-201-07981-4
* A. V. Aho i J. D. Ullman, Foundations of Computer Science. W. H. Freeman/Computer Science Press, 1992.
** A. V. Aho i J. D. Ullman, Foundations of Computer Science, C Edition. W. H. Freeman, 1995. ISBN 978-0-7167-8284-1
* A. V. Aho, M. S. Lam, R. Sethi, i J. D. Ullman, Compilers: Principles, Techniques, and Tools, Second Edition. Addison-Wesley, 2007. ISBN 978-0-321-48681-3

## Referències

* 1 2 Alfred Vaino Aho al Mathematics Genealogy Project.
* ↑ Aho, A. V. «Indexed Grammars---An Extension of Context-Free Grammars». Journal of the ACM, 15, 4, 1968, pàg. 647. DOI: 10.1145/321479.321488.
* ↑ Aho, A.; Gottlob, G. «A front row seat to Communications' editorial transformation». Communications of the ACM, vol. 57, 4, 2014, pàg. 5. DOI: 10.1145/2582611.
* ↑ Aho, A. V. «Nested Stack Automata». Journal of the ACM, 16, 3, 1969, pàg. 383. DOI: 10.1145/321526.321529.
* ↑ Aho, Alfred V.; Corasick, Margaret J. «Efficient String Matching: An Aid to Bibliographic Search». Communications of the ACM, 18, 6, 6-1975, pàg. 333–340. DOI: 10.1145/360825.360855.
* ↑ Aho, A. V.; Johnson, S. C.; Ullman, J. D. «Code Generation for Expressions with Common Subexpressions». Journal of the ACM, 24, 1977, pàg. 146. DOI: 10.1145/321992.322001.
* ↑ Aho, A. V.; Kernighan, B. W.; Weinberger, P. J. «Awk — a pattern scanning and processing language». Software: Practice and Experience, 9, 4, 1979, pàg. 267. DOI: 10.1002/spe.4380090403.
* ↑ Aho, A.V.. «Algorithms for Finding Patterns in Strings». A: Handbook of Theoretical Computer Science. MIT Press, 1990, p. 255–300.
* ↑ Alfred Aho a la Biblioteca Digital de l'ACM
* ↑ Computerworld Interview with Alfred V. Aho
* ↑ «Creating Reliable Programs from Unreliable Programmers [PDF], Excellentia». Arxivat de l'original el 2022-01-20. [Consulta: 25 juny 2016].
* ↑ Nguyen, Binh. Linux Dictionary, p. 293.
* ↑ «The Languages and Compilers Group - Personnel». [Consulta: 25 juny 2016].
* ↑ «Google Scholar Record for Alfred Aho».
* ↑ «Book of Members, 1780-2010: Chapter A». American Academy of Arts and Sciences. Arxivat de l'original el 10 maig 2011. [Consulta: 6 abril 2011].
* ↑ «Brief U.S. Suppression of Proof Stirs Anger». The New York Times, 17-02-1987 [Consulta: 10 novembre 2015].

## Enllaços externs

* Perfil de l'autor a la base de dades zbMATH