Barbara Liskov: A Pioneer In Modern Code Writing
In 2008, renowned computer scientist Barbara Liskov won the prestigious Turing Award, an award often referred to as the Nobel Prize of computing, and in 2012 she was inducted into the National Inventors Hall of Fame.
Coming of age in Los Angeles in the 1950s and ’60s, Liskov had a lot of support from her parents to achieve her academic goals and to pursue her interests in math and science, but like society at large, she still wasn’t encouraged to think of these fields as a viable career option.
Therefore, in a realm traditionally dominated by men, it wasn’t always so easy for Liskov to establish herself. At first, she says that she didn’t have a career plan, “Instead I reacted to obstacles and opportunities.”
A Love Of Math
Liskov’s love of math led her to get an undergraduate mathematics degree from Berkeley in 1961 and a PhD from Stanford in Computer Science in 1968, one of the first women in America to earn such a distinction.
So, when it came to finding her best approach for problem solving in computer programming, she once again started with math and not technology.
As a professor at MIT in the 1970s, Liskov earned acclaim by spearheading the development of the first programming language to shed reliance on goto statements and instead use data abstraction, which organized code into modules. This breakthrough became known as CLU and is the basis for the programming languages we use today such as Java, C++, and C#.
And in the 1980s, with a team of computer scientists, she created another programming language called Argus, as an extension of CLU, to support the creation of distributed programs, by encapsulating related procedures within objects called guardians, and by supporting atomic operations called actions.
Liskov Substitution Principle
Liskov is also responsible for developing the Liskov Substitution Principle to establish a particular definition of subtyping in order to relate one datatype to another in software development: The principle defines that objects of a superclass shall be replaceable with objects of its subclasses without breaking the application. That requires the objects of your subclasses to behave in the same way as the objects of your superclass.
Currently, her research at MIT is centered on making better software, which Liskov believes is “an essential part of many things we do, from interacting with the bank, to electronic commerce, and it is critical that the software behave properly.”
Liskov is famous for her contributions to programming languages and software methodology, which led to the development of object-oriented programming. Her work in data abstraction, with an emphasis on data instead of process, made using computer programs easier and more secure.
But what about the future? Liskov states, “We need to work out this question of privacy versus security. Some of it’s technical. For example, Facebook has an algorithm for how it spreads information. They could spread information more slowly or recognize what information shouldn’t be moving.”
What an amazing career!
By learning how to code with Tynker, kids can develop the skills they need to make the next big advancement in software and design new ways to use technology!
What will your kid create with Tynker once they’ve learned to code?