Barbara Liskov: biografia, Berkeley, Stanford e John McCarthy, MITRE, MIT, CLU, Argus, o princípio de substituição de Liskov, tolerância a falhas bizantinas e o Prêmio Turing | Ícones da Tecnologia

Dossiê · Linguagens de programação

Barbara Liskov: a cientista do CLU, da abstração de dados e do princípio de substituição

Em março de 1968, Barbara Liskov se tornou uma das primeiras mulheres a concluir um doutorado em ciência da computação nos Estados Unidos, com um programa de finais de xadrez. No MIT, criou nos anos 1970 a linguagem CLU, construída em torno da abstração de dados, e depois definiu com Jeannette Wing a noção de subtipo hoje chamada de princípio de substituição de Liskov.

Atualizado em · 1 fontes públicas citadas

Barbara Liskov é uma cientista da computação americana, professora do MIT, onde lidera o Programming Methodology Group [1].

Ela liderou o projeto das linguagens CLU e Argus e desenvolveu com Jeannette Wing uma definição de subtipo hoje conhecida como princípio de substituição de Liskov [1]. Recebeu o Prêmio Turing de 2008 [1].

Berkeley e a porta fechada de Princeton

Barbara Jane Huberman nasceu em 7 de novembro de 1939, em Los Angeles, a mais velha de quatro filhos [1].

Formou-se em matemática, com menor em física, na Universidade da Califórnia em Berkeley, em 1961; segundo a Wikipédia, tinha só mais uma colega mulher no curso [1]. Na época, Princeton não aceitava mulheres em matemática [1].

Mudou-se para Boston, trabalhou por cerca de um ano na MITRE Corporation e depois num emprego de programação em Harvard, com tradução de línguas [1].

Stanford, McCarthy e o xadrez

Em Stanford, Liskov trabalhou com John McCarthy, seu orientador [1]. Em março de 1968 tornou-se uma das primeiras mulheres a concluir um doutorado em ciência da computação nos EUA [1].

A tese tratava de um programa para jogar finais de xadrez, e nela Liskov desenvolveu a importante heurística killer, segundo a Wikipédia [1].

Barbara Liskov: idade em cada marco

Idade aproximada em cada marco, calculada a partir da data de nascimento (7 de novembro de 1939) e dos anos citados na Wikipédia.

Como ela faz aniversário em 7 de novembro, considera-se que os eventos ocorreram antes dessa data.

MITRE e o sistema Venus

Depois do doutorado, voltou à MITRE como pesquisadora, onde construiu o Venus, um sistema de tempo compartilhado pequeno e de baixo custo [1].

CLU, Argus e Thor no MIT

No MIT, Liskov liderou nos anos 1970 o projeto da linguagem CLU, construída em torno da abstração de dados [1]. Em 1974 publicou com Stephen Zilles o artigo “Programming with abstract data types” e, em 1977, “Abstraction mechanisms in CLU”, na Communications of the ACM [1].

Nos anos 1980 criou o Argus, que a Wikipédia descreve como a primeira linguagem de alto nível a permitir implementar programas distribuídos [1]. Também liderou o Thor, um sistema de banco de dados orientado a objetos [1].

Segundo o artigo, CLU e Argus influenciaram linguagens posteriores como Java, C++, C# e Ada [1].

O princípio de substituição de Liskov

Com Jeannette Wing, Liskov desenvolveu uma definição específica de subtipo, hoje conhecida como princípio de substituição de Liskov [1]. O artigo formal, “A behavioral notion of subtyping”, é de 1994 [1].

Ela também escreveu com John Guttag o livro Abstraction and Specification in Program Development (1986) e, em 2000, Program Development in Java [1].

Tolerância a falhas bizantinas

A pesquisa atual de Liskov trata de tolerância a falhas bizantinas e computação distribuída [1]. Em 1999 publicou com Miguel Castro o artigo “Practical Byzantine fault tolerance” [1].

Em 1992 já tinha publicado “Providing high availability using lazy replication”, e em 2000 “Protecting privacy using the decentralized label model” [1]. Em fevereiro de 2023, tinha escrito cinco livros e mais de 100 artigos técnicos [1].

O Prêmio Turing e outras honrarias

Em março de 2009, Liskov recebeu da ACM o Prêmio Turing de 2008, “pelo trabalho no projeto de linguagens de programação e metodologia de software, especialmente ligado a abstração de dados, tolerância a falhas e computação distribuída” (tradução livre) [1]. Foi a segunda mulher a recebê-lo [1].

Em 2002, a revista Discover a incluiu entre as 50 mulheres mais importantes da ciência [1]. Recebeu a Medalha John von Neumann do IEEE em 2004 e, em 19 de novembro de 2005, um doutorado honorário da ETH, junto com Donald Knuth [1].

Vieram depois doutorados honorários das universidades de Lugano (2011) e Politécnica de Madri (2018), a entrada no National Inventors Hall of Fame (2012), o Computer Pioneer Award (2018) e a Medalha Benjamin Franklin (2023) [1]. É membro das academias nacionais de Engenharia e de Ciências dos EUA e da Academia Americana de Artes e Ciências [1].

Linha do tempo

  1. 1939

    Nasce em Los Angeles

  2. 1961

    Bacharelado em matemática em Berkeley

  3. 1968

    Doutorado em Stanford, orientado por John McCarthy

  4. 1974

    “Programming with abstract data types”, com Stephen Zilles

  5. 1977

    “Abstraction mechanisms in CLU”

  6. 1981

    Manual de referência do CLU

  7. 1986

    Livro com John Guttag sobre abstração e especificação

  8. 1994

    “A behavioral notion of subtyping”, com Jeannette Wing

  9. 1999

    “Practical Byzantine fault tolerance”, com Miguel Castro

  10. 2004

    Medalha John von Neumann

  11. 2009

    Recebe o Prêmio Turing de 2008

  12. 2012

    National Inventors Hall of Fame

  13. 2023

    Medalha Benjamin Franklin

Empresas ligadas a Barbara Liskov

Empresas desta coleção em que a pessoa trabalhou, fundou, investiu ou com que teve relação direta. Os nomes com link já têm dossiê publicado.

Ver a rede de Barbara Liskov no grafo 3D

Veja também: outras pessoas

  • John McCarthy Orientador do doutorado de Liskov em Stanford
  • Donald Knuth Recebeu com Liskov o doutorado honorário da ETH em 2005

Sumário de siglas usadas

CLU
Linguagem de programação criada no MIT nos anos 1970, construída em torno da abstração de dados.
Abstração de dados
Ideia de esconder a representação interna de um tipo e expor só as operações sobre ele.
LSP
Liskov Substitution Principle: um subtipo deve poder substituir seu tipo-base sem quebrar o programa.
Falha bizantina
Falha em que um componente de um sistema distribuído se comporta de forma arbitrária ou maliciosa.
MITRE
Organização americana sem fins lucrativos de pesquisa e engenharia.

Perguntas frequentes

Quem é Barbara Liskov?+
Uma cientista da computação americana, professora do MIT, criadora das linguagens CLU e Argus e ganhadora do Prêmio Turing de 2008.
O que é o princípio de substituição de Liskov?+
Uma definição de subtipo que Liskov desenvolveu com Jeannette Wing, formalizada no artigo “A behavioral notion of subtyping”, de 1994.
Barbara Liskov foi a primeira mulher doutora em computação?+
A Wikipédia diz que ela foi uma das primeiras mulheres a concluir um doutorado em ciência da computação nos EUA, em março de 1968, em Stanford.
Por que Barbara Liskov ganhou o Prêmio Turing?+
Pelo trabalho no projeto de linguagens de programação e metodologia de software, especialmente em abstração de dados, tolerância a falhas e computação distribuída.
O que é a tolerância prática a falhas bizantinas?+
Tema do artigo de 1999 de Liskov com Miguel Castro, sobre sistemas distribuídos que continuam funcionando mesmo com componentes que se comportam de forma arbitrária.

Referências

Livros

Abstraction and Specification in Program Development

Com John Guttag, 1986.

Program Development in Java

2000.

CLU: Reference Manual

1981.

Fontes consultadas

  1. Barbara Liskov · Wikipédia

Este dossiê usa apenas informações públicas e com fonte. Não publicamos dados pessoais privados, como endereço, documentos ou informações de saúde. Encontrou um erro? Escreva para [email protected].

Conclusão

Barbara Liskov começou numa época em que Princeton não aceitava mulheres em matemática e se tornou uma das primeiras doutoras em computação dos EUA. Do CLU à tolerância a falhas bizantinas, seu trabalho em abstração de dados, tolerância a falhas e computação distribuída foi premiado pela ACM com o Prêmio Turing.