Barbara Liskov and the Rules That Hold Software Together
Barbara Liskov e as Regras Que Mantêm o Software Unido
Barbara Liskov pioneered CLU and abstract data types, then formulated the Liskov Substitution Principle, a rule still taught in every computer science course today.
Barbara Liskov grew up loving mathematics and puzzles.
Barbara Liskov cresceu amando matemática e quebra-cabeças.
When she went to university, very few women studied computer science.
Quando foi para a universidade, muito poucas mulheres estudavam ciência da computação.
Barbara did not let that stop her.
Barbara não deixou que isso a parasse.
She became one of the first women in the United States to earn a PhD in computer science.
Ela se tornou uma das primeiras mulheres nos Estados Unidos a obter um doutorado em ciência da computação.
After her studies, she saw a big problem in how people wrote software.
Após seus estudos, ela viu um grande problema na forma como as pessoas escreviam software.
Every programmer used different styles, and no one could easily use another person's code.
Cada programador usava estilos diferentes e ninguém conseguia usar facilmente o código de outra pessoa.
Barbara created a new programming language called CLU.
Barbara criou uma nova linguagem de programação chamada CLU.
CLU introduced the idea of abstract data types.
CLU introduziu a ideia de tipos de dados abstratos.
This meant that a programmer could hide the messy details inside a piece of code and show only what other code needed to see.
Isso significava que um programador poderia ocultar os detalhes confusos dentro de um trecho de código e mostrar apenas o que outro código precisava ver.
Other programmers could now use that piece of code safely, without knowing how it worked inside.
Outros programadores podiam agora usar aquele trecho de código com segurança, sem saber como funcionava por dentro.
Then Barbara noticed another problem.
Então Barbara percebeu outro problema.
When programmers replaced one part of a program with a newer version, the whole program sometimes broke.
Quando os programadores substituíam uma parte de um programa por uma versão mais nova, o programa inteiro às vezes quebrava.
She wrote a clear rule to prevent this.
Ela escreveu uma regra clara para evitar isso.
Her rule said: if you replace one part of a program, the new part must behave in every way that the old part did.
Sua regra dizia: se você substituir uma parte de um programa, a nova parte deve se comportar em todos os aspectos como a parte antiga fazia.
This rule became known as the Liskov Substitution Principle.
Esta regra ficou conhecida como o Princípio de Substituição de Liskov.
It is still taught in computer science courses today.
Ainda é ensinado em cursos de ciência da computação hoje.
Barbara also built systems called Argus to explore how software could keep running even when things went wrong.
Barbara também construiu sistemas chamados Argus para explorar como o software poderia continuar funcionando mesmo quando as coisas dessem errado.
Many years later, she received the Turing Award, the highest prize in computer science.
Muitos anos depois, ela recebeu o Prêmio Turing, o maior prêmio em ciência da computação.
She smiled quietly, knowing her real reward was in the reliable software that people used every day.
Ela sorriu quietamente, sabendo que sua verdadeira recompensa estava no software confiável que as pessoas usavam todos os dias.
Moral: Clear rules make complex things trustworthy.
Moral: Regras claras tornam coisas complexas confiáveis.