Barbara Liskov and the Rules That Hold Software Together
Barbara Liskov y las Reglas Que Mantienen Unido el Software
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 creció amando las matemáticas y los acertijos.
When she went to university, very few women studied computer science.
Cuando fue a la universidad, muy pocas mujeres estudiaban informática.
Barbara did not let that stop her.
Barbara no dejó que eso la detuviera.
She became one of the first women in the United States to earn a PhD in computer science.
Se convirtió en una de las primeras mujeres en Estados Unidos en obtener un doctorado en informática.
After her studies, she saw a big problem in how people wrote software.
Después de sus estudios, vio un gran problema en la forma en que la gente escribía software.
Every programmer used different styles, and no one could easily use another person's code.
Cada programador usaba estilos diferentes y nadie podía usar fácilmente el código de otra persona.
Barbara created a new programming language called CLU.
Barbara creó un nuevo lenguaje de programación llamado CLU.
CLU introduced the idea of abstract data types.
CLU introdujo la idea de los tipos de datos abstractos.
This meant that a programmer could hide the messy details inside a piece of code and show only what other code needed to see.
Esto significaba que un programador podía ocultar los detalles complicados dentro de un fragmento de código y mostrar solo lo que otro código necesitaba ver.
Other programmers could now use that piece of code safely, without knowing how it worked inside.
Otros programadores podían ahora usar ese fragmento de código de forma segura, sin saber cómo funcionaba por dentro.
Then Barbara noticed another problem.
Entonces Barbara notó otro problema.
When programmers replaced one part of a program with a newer version, the whole program sometimes broke.
Cuando los programadores reemplazaban una parte de un programa por una versión más nueva, el programa completo a veces se rompía.
She wrote a clear rule to prevent this.
Ella escribió una regla clara para evitar esto.
Her rule said: if you replace one part of a program, the new part must behave in every way that the old part did.
Su regla decía: si reemplazas una parte de un programa, la nueva parte debe comportarse en todos los sentidos como lo hacía la parte anterior.
This rule became known as the Liskov Substitution Principle.
Esta regla se conoció como el Principio de Sustitución de Liskov.
It is still taught in computer science courses today.
Todavía se enseña en los cursos de informática hoy en día.
Barbara also built systems called Argus to explore how software could keep running even when things went wrong.
Barbara también construyó sistemas llamados Argus para explorar cómo el software podía seguir funcionando aunque las cosas salieran mal.
Many years later, she received the Turing Award, the highest prize in computer science.
Muchos años después, recibió el Premio Turing, el mayor galardón en informática.
She smiled quietly, knowing her real reward was in the reliable software that people used every day.
Sonrió tranquilamente, sabiendo que su verdadera recompensa estaba en el software confiable que la gente usaba todos los días.
Moral: Clear rules make complex things trustworthy.
Moraleja: Las reglas claras hacen que las cosas complejas sean confiables.