Alfred Vaino Aho (nascido em 9 de agosto de 1941) é um cientista da computação canadense mais conhecido por seu trabalho em linguagens de programação, compiladores e algoritmos relacionados, e por seus livros-texto sobre a arte e a ciência da programação de computadores. Ele e seu colaborador de longa data Jeffrey Ullman são os recipientes do Prêmio Turing de 2020, geralmente reconhecido como a mais alta distinção em ciência da computação. Aho foi eleito para a Academia Nacional de Engenharia em 1999 por suas contribuições aos campos de algoritmos e ferramentas de programação.
A pesquisa e as publicações de Aho tiveram um impacto duradouro em como as linguagens de programação são projetadas, analisadas e compiladas. Seus livros-texto, particularmente os "livros do dragão" sobre projeto de compiladores, educaram gerações de cientistas da computação e engenheiros. Seu trabalho abrange desde fundamentos teóricos até ferramentas práticas usadas no sistema operacional Unix.
Educação e Início de Carreira
Aho recebeu um B.A.Sc. (1963) em Engenharia Física pela Universidade de Toronto, e depois um M.A. (1965) e um Ph.D. (1967) em Engenharia Elétrica/Ciência da Computação pela Universidade de Princeton. Em sua tese de doutorado, Aho criou gramáticas indexadas e o autômato de pilha aninhada como veículos para estender o poder das linguagens livres de contexto, mantendo muitas de suas propriedades de decidibilidade e fechamento. Uma aplicação das gramáticas indexadas é modelar sistemas de reescrita paralela, particularmente em aplicações biológicas.
Após se formar em Princeton, Aho ingressou no Centro de Pesquisa em Ciências da Computação da Bell Labs, onde concebeu algoritmos eficientes de correspondência de expressões regulares e de padrões de strings que implementou nas primeiras versões das ferramentas Unix egrep e fgrep. O algoritmo fgrep tornou-se conhecido como algoritmo de Aho–Corasick; ele é usado por vários sistemas de busca bibliográfica e outras aplicações de busca de strings.
Contribuições para Compiladores e Ferramentas
Na Bell Labs, Aho trabalhou em estreita colaboração com Steve Johnson e Jeffrey Ullman para desenvolver algoritmos eficientes para analisar e traduzir linguagens de programação. Steve Johnson usou os algoritmos de análise LALR ascendente para criar o gerador de analisadores sintáticos yacc, e Michael E. Lesk e Eric Schmidt usaram os algoritmos de correspondência de expressões regulares de Aho para criar o gerador de analisadores léxicos lex. As ferramentas lex e yacc e seus derivados têm sido usados para desenvolver os front ends de muitos dos compiladores de linguagens de programação atuais.
Aho também é amplamente conhecido por sua coautoria da linguagem de programação AWK com Peter J. Weinberger e Brian Kernighan (o "A" significa "Aho"). Essa linguagem de processamento de texto tornou-se uma ferramenta padrão em ambientes Unix e influenciou muitas linguagens de script subsequentes.
Os Livros do Dragão e Algoritmos
Aho e Ullman escreveram uma série de livros-texto sobre técnicas de compilação que codificaram a teoria relevante para o projeto de compiladores. Seu livro-texto de 1977, Principles of Compiler Design, tinha um dragão verde na capa e ficou conhecido como "o livro do dragão verde". Em 1986, Aho e Ullman foram acompanhados por Ravi Sethi para criar uma nova edição, "o livro do dragão vermelho", e em 2006 também por Monica Lam para criar "o livro do dragão roxo". Os livros do dragão são usados em cursos universitários, bem como referências na indústria.
Em 1974, Aho, John Hopcroft e Ullman escreveram The Design and Analysis of Computer Algorithms, codificando parte de suas pesquisas iniciais sobre algoritmos. Este livro tornou-se um dos livros mais citados em ciência da computação por várias décadas e ajudou a estimular a criação de algoritmos e estruturas de dados como um curso central no currículo de ciência da computação.
Carreira Acadêmica e Honrarias
Desde 1995, Aho ocupa a Cátedra Lawrence Gussman de Ciência da Computação na Universidade de Columbia. Ele serviu como presidente do departamento de 1995 a 1997, e novamente na primavera de 2003. A partir de 2010, seus interesses de pesquisa incluem linguagens de programação, compiladores, algoritmos e computação quântica. Ele faz parte do grupo de pesquisa em Linguagens e Compiladores da Universidade de Columbia.
Aho recebeu muitas honrarias prestigiosas, incluindo a Medalha John von Neumann do IEEE e a membresia na Academia Nacional de Engenharia e na Academia Nacional de Ciências. Ele foi eleito Fellow da Academia Americana de Artes e Ciências em 2003. Ele possui doutorados honorários da Universidade de Waterloo, da Universidade de Helsinque e da Universidade de Toronto. Ele é Fellow da Associação Americana para o Avanço da Ciência, da ACM, da Bell Labs e do IEEE. Aho, Hopcroft e Ullman foram co-recipientes do Prêmio C&C de 2017 concedido pela NEC Corporation. Ele e Ullman foram nomeados recipientes do Prêmio Turing de 2020 em 31 de março de 2021.
Vida Pessoal e Ensino
Aho leciona na Universidade de Columbia, em Nova York, desde 1995. Ele ganhou o Prêmio Grande Professor da Sociedade de Graduados de Columbia em 2003. Aho serviu duas vezes como presidente do Comitê Consultivo para a Diretoria de Ciência da Computação e Informação da Fundação Nacional de Ciências. Ele é ex-presidente do Grupo de Interesse Especial da ACM em Algoritmos e Teoria da Computabilidade. No geral, seus trabalhos foram citados 81.040 vezes e ele tem um índice h de 66, em 8 de maio de 2019.