Turing Award Winner: Data Abstraction, Dijkstra, Distributed Systems | Barbara Liskov

27 Apr 2026 · 35 min · 15 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Barbara Liskov discusses the “software crisis” and how modularity became possible through encapsulation, data abstraction, and language support; then connects those ideas to distributed systems, replication, and correctness reasoning.

Guest background

Barbara Liskov is a Turing Award winner known for programming languages and distributed systems. She faced gender discrimination when Princeton rejected her (“we do not admit women”), later studied/worked at Berkeley and MITRE, and built research tools like CLU and Argus.

Key claims

Big programs require modularity plus encapsulation so interfaces are usable while implementations and data are hidden; compilers should enforce correctness. She argues Python modules lack encapsulation, weakening modularity. She emphasizes “don’t do incremental work” and choosing good problems.

Notable examples

CLU and abstract data types; ADA’s data-abstraction design; Argus guardians and atomic transactions; viewstamped replication (U-stamp) as essentially Paxos; Google File System using the same replication idea; Dijkstra’s “Go To Statement Considered Harmful” as a correctness-and-reasoning warning.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Barbara's Journey into Programming

0:41 to 2:58

Barbara shares her experience entering the programming field amidst gender bias.

“You applied to multiple places, and Princeton was one of them, and they had rejected you on the grounds of you being a woman.”

The Software Crisis of the 1970s

2:58 to 4:25

Discussion on the challenges of building large software systems in the 1970s.

“And so I understand that there's the software crisis in the 1970s.”

Defining Modularity and Data Abstraction

4:25 to 6:50

Barbara explains her views on modularity and the concept of data abstraction.

“present in programming languages was a procedure.”

Impact of CLU and Data Abstraction

6:50 to 8:32

Exploration of how the CLU programming language influenced the industry.

“except people hadn't managed to pick it out.”

Transition to Distributed Computing

8:32 to 10:14

Barbara discusses her shift to distributed computing and her first projects.

“But for companies to use a programming language in those days, they wanted a company behind that language.”

Challenges in Distributed Systems

10:14 to 12:39

Insights into the complexities of distributed systems and the role of transactions.

“I'm no longer an expert in programming languages.”

Comparing U-stamp and Paxos

12:39 to 14:02

Discussion on U-stamp replication and its similarities to Paxos in distributed systems.

“It had nothing to do with clocks because it was just numbers.”

Exploring Data Abstraction and Its Development

14:02 to 18:04

Learn about the evolution of data abstraction concepts and the Liskov substitution principle.

“and one of my former students who was, I think he was a consultant at Google, looked at what was going on in there and he said, oh, he says that's FUTAMP replication.”

Understanding Paxos and View Stamp Replication

18:04 to 19:24

Discover the similarities and differences between Paxos and view stamp replication in distributed systems.

“But no, as I said, one day in the 90s, after the internet had arrived, I got an email saying, can you say if this is the correct interpretation of the Liskov substitution principle?”

Dijkstra's Impact on Computer Science

19:24 to 23:02

Examine Dijkstra's contributions and the controversy surrounding his views on coding practices.

“But finally, it became clear that they were the same system.”
Show all 15 chapters

Choosing Academia Over Industry

23:02 to 26:25

Explore the motivations for staying in academia and the relationship between teaching and research.

“And he was also pointing out that go-to's can be misused.”

The Importance of Research Direction

26:25 to 28:00

Learn why finding the right research problem is crucial for effective contributions in the field.

“What stops you from going off in a very useless direction?”

Navigating Career Choices

28:00 to 29:20

Learn about the importance of recognizing opportunities and adapting to career changes.

“So you tell students, graduate students, don't do incremental work.”

Reflections on the Turing Award

29:20 to 32:44

Discover insights on the reception of Barbara Liskov's Turing Award and the misconceptions surrounding her contributions.

“But it also meant that I didn't feel really sorry for myself that I didn't get a job.”

The Impact of Fundamental Innovations

32:44 to 33:30

Understand how fundamental programming concepts became taken for granted over time.

“I mean, the Byzantine fault tolerance, you look at that, there's a protocol.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00Don't do incremental work. This is Barbara Liskov. She's a Turing Award winner famous for her fundamental contributions to programming languages and distributed systems.

0:10Barbara Liskov:Encapsulation is a crucial part of making modularity work. Your team is really only as strong as your weakest programmer. I asked her for stories from her career. That paper was the go-to statements considered harmful. Is Dykstra in person also like his writing? He was not always as tactful as he might be. There were people saying, why did she get the Turing Award? Why do you think that they said that about your work? Here's the full episode.

0:46You applied to multiple places, and Princeton was one of them, and they had rejected you on the grounds of you being a woman. How did you get into programming in an environment that's so hostile?

1:00Barbara Liskov:Okay, so this was when I got my bachelor's degree. And I applied to several graduate programs in math, which is what I majored in as an undergraduate. And I got this little card back. It was a postcard from Princeton saying, we do not admit women, which was surprising. I knew they didn't have women in their undergraduate program, but I hadn't realized it extended to the graduate program. But, you know, it was how it was. So what happened was I did get into Berkeley, which is where I did my undergraduate work, but I decided I really wasn't ready to do a PhD in math and that I should get a job instead and just sort of see how things were.

1:50Barbara Liskov:And the best job offer I got was as a programmer. So that's how I got into computer science, by a happy accident. You were consistently, at least at Berkeley, you were consistently a top student. So it is odd that you wouldn't even get an opportunity to play in some cases. But that's how it was back then. It was just, I hadn't realized it was more than an undergraduate thing. And Berkeley was co-ed. So, you know, there, what I found was there weren't very many women in my classes. There were lots of women students, but very few of them majoring in math. And there were only maybe a couple of women in my classes.

2:35Barbara Liskov:But the idea that a door was shut and women couldn't do things, that was not what went on at Berkeley. So it was a different environment. Of course, nowadays in the top schools, the women are about 50 % in computer science. I want to talk about some of the core problems that you're solving in your career. And so I understand that there's the software crisis in the 1970s. And I was wondering if you could give the context behind what the problem was at that time. Well, it was a huge problem at the time because people did not know how to build big programs that worked. And so you would often pick up the newspaper and see an article about some company that had spent millions of dollars and hundreds of man years developing some software system for their company.

3:36Barbara Liskov:And then in the end, they'd have to throw it away because it simply didn't work. The problem was that to get a big program that works, you need modularity. And you need to break your program up into small pieces. Each piece provides an interface with a hopefully complete description of what service it provides for you. And then inside is an implementation that's hidden and nobody pays any attention to it on the outside. modified. And if you have a system organized like that, you can actually reason about its correctness one module at a time. But in those days, people didn't know how...they couldn't figure out how to design systems that were modular.

4:24Barbara Liskov:And the only kind of modularity mechanism present in programming languages was a procedure. And procedures didn't match the kinds of modules you needed. Because if you think about a file system or a database or Amazon or whatever, they aren't a procedure where you put something in and get something out. They're a much more complicated thing. So there was no notion of a module that sort of matched the kind of things that people were looking for. So when you saw that problem, what were the early solutions like? Well, so people were proposing modularity and they were talking about how important modularity was.

5:09Barbara Liskov:They didn't exactly know what a module was. And so it wasn't like they could give you a rule, this is a module. It was just a chunk of code. In fact, there were papers written that talked about how big a module should be and stuff like that, just a chunk of code. That's not going to work because you need to design these systems. So you need a way of thinking of a design that sort of fits into this notion of modularity. They also didn't really know what the rules should be for modularity. And it turned out that in some of the early work I did after grad school when I was working at MITRE, I had already invented a notion of modularity that was sort of more complete than what people had been talking about.

5:52Barbara Liskov:Just because I had a small team of programmers, we were building a complicated system. and I wanted to keep us out of trouble. And so I had that sort of sitting there when I started to work on this topic. And it enabled me to see this idea of data abstraction. All of a sudden, I sort of saw that this thing I had, this kind of modularity mechanism, which consisted of basically what I just described, a bunch of code providing you with an access through a number of what I called operations. So you could call it in various ways and then inside was all hidden and whatever data it was using was not accessible to the outside.

6:37Barbara Liskov:And then at some point I saw I could see this as a data abstraction. It could be a set, it could be a sequence, it could be, you know, and so forth. And that meant we had a new type of module. Now, when I look back at the papers from the time, I see that idea is almost there, except people hadn't managed to pick it out. And so it was probably, I think this happens in science a lot. There's sort of a time when an idea is ready, and I happened to see it. You pieced these together, and you put it into the CLU programming language that you're working on. How did you see it influencing the industry?

7:17Barbara Liskov:The first thing that happened was I wrote a paper with a man who was a graduate student at MIT, Steve Zillis, about this idea of data abstraction. And it sketched a notion of what abstract data types would be and how a programming language could support them. And this was a very impactful paper. And so there was a big impact on the research community. And then Clue came along, and that involved a lot of additional research in the programming language area. The next thing that happened, so people were watching this in the research community, but of course, people who are in companies that want to write programs, they need a programming language.

8:04Barbara Liskov:and I decided I wasn't going to try and turn Clue into a product because that would have required working in a company. In those days, you didn't just put software out on the internet and people used it. There wasn't an internet yet, for one thing. And I was much more interested in doing research than in, you know, working in a company. So I put Clue on the side. It had a user base, But for companies to use a programming language in those days, they wanted a company behind that language. The next thing that happened was the government put out a call for a programming language they could use. This led to the ADA programming language.

8:49Barbara Liskov:So, you know, that was already a big impact if you think about it. There was a language explicitly being designed to have data abstraction in it. And then finally in the 90s, Java came along. I thought it'd be interesting because you worked on Clue. You designed that programming language to ask you about other programming languages. You said somewhere that there's something wrong with Python. I was curious to hear your thoughts of why. Python has modules, but it doesn't have encapsulation. So it allows code on the outside to muck around with what's going on on the inside of a module. And that's all I was talking about.

9:29Barbara Liskov:Encapsulation is a crucial part of making modularity work. And when you're building big programs, so you have many programmers working on them, your team is really only as strong as your weakest programmer. So it's nice if the compiler can enforce things and make certain kinds of bad behavior not possible. I mean, Python has another intended use. It's helping naive programmers learn quickly how to write programs and stuff like that. And people in the programming language world do think about issues like this, like how to make languages safer and so forth. But since I stopped working in that area, I'm no longer an expert in programming languages.

10:17What got you into distributed computing?

10:19Barbara Liskov:I read a paper by Bob Kahn, who was with Vint Cerf considered to be the founders of the internet. And Bob talked about his dream of distributed computing, where you would have a program composed of pieces on different computers connected by a network. And nobody knew how to build those programs. And so I just thought, great problem. And I was looking for a new problem, so I jumped into distributed computing. And the first project was actually a programming language to write distributed programs in. And then I started looking at other problems in the distributed systems area. What was that first programming language?

11:05Barbara Liskov:It was called Argus. It was very strongly influenced by Clue. It was an object-oriented language. It had a special kind of object called a guardian, which was a module sitting at a single computer, and then guardians could compute, could communicate through remote procedure calls. One of the things you run into in distributed computing is if you have a computation that starts at one guardian and then makes use of other guardians at other nodes in the network, in the end you want that computation to either complete entirely or have no effect at all. And how do you do that? Well, I borrowed the notion of transactions coming out of the database field.

11:52Barbara Liskov:And that was part of how Argus worked. It ran computations as atomic transactions. Oh, interesting. Like distributed transactions across those nodes. Yeah, yeah, yeah. And I think it led right into the work I did on view stamp replication, which was that was the beginning of cloud storage. I was thinking in terms of a file system, but it doesn't really matter what it is. You know, how do you have data out on the Internet stored at multiple sites with correct behavior and always accessible as long as enough nodes are up and running and the network is working? I see. And what is ViewStamp in this context?

12:35Barbara Liskov:Oh, that had to do with some details of how the system worked. And it was a way of noticing when some nodes failed and other nodes had to take over, you could figure out which ones had the most recent state in them so you could pick up and not lose anything that had happened in the past. What if the clocks are out of sync? It had nothing to do with clocks because it was just numbers. In other words, we were in view 25, the next view was 26. Oh, okay. Just incrementing some number that's passed around. Yeah. This reminds me a lot of Leslie Lamport's work. Actually, yes. Did you ever work with him?

13:17No.

13:17Barbara Liskov:Leslie and I developed what is essentially the same idea independently. And he had the system he called Paxos, and I had this thing called U-stamp replication. Oh, interesting. And they're essentially the same thing? They are, yeah. Are there pros and cons of the two approaches? Yeah. I mean, when you do this kind of system, there's lots of little details you can play around with. So you could decide to do – it gets technical, but there's tiny differences. But no, they're basically the same. In fact, what happened was the first time that I'm aware of that this was actually used in a real system was when the Google file system came along.

14:02Barbara Liskov:and one of my former students who was, I think he was a consultant at Google, looked at what was going on in there and he said, oh, he says that's FUTAMP replication. So the people at Google seemed to think it was Paxos, but in fact they are the same system. I also noticed like when you came up with abstract data types, maybe it's just because the internet wasn't there, that there was also the object-oriented stuff going on on the West Coast. Yes. Alan Kay was developing Smalltalk at the same time that I was working on Clue. And then at Carnegie Mellon, Bill Wolf and Mary Shaw were working on Alphard, which was another data abstraction language.

14:48Barbara Liskov:And you're right, there was no internet, although there was the ARPANET. So we did. But it was like there were two independent streams of research going on and we weren't talking to each other. And so I wasn't paying much attention to small talk. And on the West Coast, I don't think they were paying much attention to data abstraction. And this led to the Liskov substitution principle, which, I mean, the story is a sort of acute one because in 1986, I think it was, I was asked to give a keynote at OOPSLA. OOPSLA is the object-oriented programming conference, and this was the second year it was happening.

15:32Barbara Liskov:And so I decided, I think I'll read all those papers about small talk, and there were other languages being developed that were based on small talk, and see what's going on with them. And I discovered, so small talk has this idea of inheritance in it, where you can have a class and a subclass, which borrows from the way the class is implemented and changes it a bit. And Clue doesn't have that. Clue just has what we call clusters and they're all independent. So I saw that they were talking about this notion of classes and subclasses. And then I saw that they were also talking about something they call type hierarchy, where they wanted the type implemented by a class to be related in some way that they and understand to the type that was implemented by a subclass.

16:23Barbara Liskov:I really thought about modules in terms of their specifications. This partly had to do with a class I developed at MIT that I developed jointly with my colleague John Guttag. And in that class, we taught the students how to do design, about modularity, data types, and so forth, but also how to write specifications, how to reason about correctness. And so it had a big focus on think about the meaning of things first. And the implementation is something that's kind of hidden inside and you don't worry about it very much. And so that was a different way of thinking about things than what was going on on the West Coast, where they were really thinking in terms of classes and subclasses.

17:09Barbara Liskov:And I even saw papers where they would describe the behavior of a class by explaining how its implementation was different from the implementation of the superclass. So they were kind of focused on implementations in a way that we weren't. And so when I read these papers about type hierarchy and I saw they just couldn't figure out what it was supposed to mean, I was thinking about it from the terms of meaning. And so I was able to say it has to do with the behavior. And this subclass better behave like the superclass if you use it in an environment where the superclass is expected. And that became what ended up being called the Liskov substitution principle.

17:52Barbara Liskov:And ultimately, Jeanette Wing and I wrote a paper on behavioral subtyping, which is the formal definition. And then how did it get that name? Because you didn't go off on stage and say, hey, everyone, here's the Liskov. No, no. But no, as I said, one day in the 90s, after the internet had arrived, I got an email saying, can you say if this is the correct interpretation of the Liskov substitution principle? That's when I discovered that there was such a name. And I don't think I had really been aware of how important it was until that point, because I wasn't thinking about this stuff. I was working on other stuff.

18:31In the academic community, it seems very reasonable to have multiple people have similar ideas, but it seems like some ideas stick more than others. For instance, like the view stamp replication versus Paxos, they're the same thing. I'm wondering, like in that case, for instance, why would Paxos be more known than view stamp replication?

18:57Barbara Liskov:So what Leslie says is, I went around giving all the talks and she implemented it.

19:07Barbara Liskov:Really? Something up to that. Then he got notoriety for speaking about it. Yeah, he did give lots of talks about it and wrote several papers and so forth. And I didn't realize it was the same system. But finally, it became clear that they were the same system. I also wonder how much the name matters because Paxos is kind of catchy. It is a cute name. It's a cute name, yeah. Yeah, right. So I could see maybe it has better marketing around the idea, I guess. I also think that this approach to solving this problem, which both Leslie and I picked up independently, in my case, came from the work I'd been doing with transactions.

19:52Barbara Liskov:because in transactions, there's a leader that says, now we're going to commit and asks everybody, can we commit? And if they all say, okay, but unlike in transactions, in transactions, if the leader fails, there's what's called, this can be a real problem. Here, we had to have a way of moving to a new leader if the old leader failed. And that's the big step forward that happened in both view stamp replication and Paxos. Now, there was also Byzantine fault tolerance, which came along later, that was developed. So view stamp replication, I developed with my student, Brian Occhi. It was his PhD thesis.

20:35Barbara Liskov:And then Paxos, I developed with my student, Miguel Castro. It was his PhD student thesis. And Miguel got interested in this problem because there was a DARPA request for proposals, and there was one about this problem on the internet. By then, there were Byzantine attacks and malicious attacks and nodes that were purported to be working correctly, but actually they had been compromised and so forth. And so view stamp prolification in Paxos only handled crashes, and if there were messages that had been played with, you could tell when they arrived that they were bad. And that was about the extent of what we dealt with.

21:20Barbara Liskov:But these malicious attacks with nodes that purported to be working when they weren't, that was a big step forward. And Miguel saw this request for proposals and he said to me, why don't we see whether we can come up with a protocol that works in the presence of Byzantine attacks? And I think, by the way, Leslie is the one that invented the word Byzantine to - I think he did. Yeah, right. I saw in the software crisis stuff, there's the paper with Dykstra that you had mentioned was one of the papers you wrote that said we need modularity. And that paper was the go-to statements considered harmful.

21:59Barbara Liskov:Right. And I'm curious because Dykstra, I mean, when I was studying computer science, we all know his name. Did you ever meet him or work with him? Oh, yeah, many times. I never worked with him, but I did meet him multiple times. And, you know, he had very interesting ideas. And that paper, Go-To Statement, Consider Harmful, it's not actually a paper. It was a letter to the editor of the communications of the ACM. But it was very impactful. And what was really important about that paper was that Dykstra was talking about how difficult it is to reason about the correctness of code. And this was at a time when in the sciences, computer science was kind of dismissed as nothing much and anybody can write code.

22:53Barbara Liskov:And, you know, Dijkstra was trying to make a point, which I think was actually important, that it's not as trivial as you think it is. It's not trivial at all. And he was also pointing out that go-to's can be misused. And it was controversial at the time. It was, yeah. But today, I've written code for over a decade. People don't use go-to. I haven't even seen a go-to in the code. So why was it controversial at the time? The programming languages were different then. First of all, there were people writing programs in Assembler. In Assembler, you have to use go-to's. programming languages didn't have some of the constructs in them that we think of today.

23:40Barbara Liskov:And so some people were using go-tos because they had to. And also compilers didn't do all the kinds of optimizations that they do today. So there was a concern if you didn't have go-tos, maybe your program wouldn't be efficient enough. And then there were people who used go-tos and wrote really good code and they were offended that Dijkstra was saying your code is bad. So there was a whole but, and Dijkstra was not the most diplomatic person. So, you know, so he didn't write it in a nice, you can imagine writing that paper more nicely where you said, so that, but there were many reasons why it was controversial.

24:26Barbara Liskov:You know, people were offended, but then there were also concerns about programming languages don't have these features I need. What am I supposed to do? And then there were concerns about what the compiler was doing. And so the world is very different now. But clearly Dykstra won the day because no go-tos. And is Dykstra in person also like his writing? He was not always as tactful as he might be. But, you know, he was a very distinguished researcher. Computer science has had such a huge impact on the industry. Why did you choose to stay in academia instead of going into industry? So I like doing research.

25:18Barbara Liskov:And I enjoy working with students. and teaching was never my favorite thing, but I always felt teaching and research were very closely connected. But also it was a different time. So this business about how professors are all forming companies and so forth, which goes on today, that wasn't happening 20 years ago, or maybe it was happening 20 years ago, but 30 years ago it wasn't. And so when I was young, it wasn't the thing that you did. It was sort of an either or sort of thing. So I wasn't even thinking about doing stuff like that. I did work in a startup briefly at the end of the 90s. I didn't like it.

26:05Barbara Liskov:I much prefer doing research. And as a professor, you have this, it's a gift and a curse. The gift is you can do whatever you want. The curse is you have to figure out what it is that you're doing. But I like that freedom and the fact that I just could go off in any, I mean, my career is full of these interesting zigzags where I would switch to something else. I had the freedom to do that. What stops you from going off in a very useless direction? You won't get tenure. Who's the judge? The community. Yeah, it's not, you know, what the way that you're viewed at your university has mostly to do with one very important facet of it is how are you viewed in your research community?

Read the full transcript

26:59Barbara Liskov:So because that's one of the important things they want from their faculty if you're in a research university. You mentioned earlier that research and teaching were heavily related in your opinion. Why is that? Because when you teach, you have to teach from first principles. And if you're doing good research, you need to understand deeply what's working, what's not working, what assumptions you're making. It's really the same thought process. it's it sounds like in research i mean and this is true in every walk of life there's the i guess the direction that you take and then the work that you do towards that direction and it sounds like for research the the direction is maybe the most important thing because you could have a phenomenal researcher doing an idea that has no you know even if you did it 100 it's not going to lead to anything.

28:01Barbara Liskov:That's right. So you tell students, graduate students, don't do incremental work. You can't just keep working on the same thing over and over, just making little teeny improvements you need to find. You're right. You have to find a good problem, but you also have to find a problem that's amenable to a solution and one that matches your skill set. And you have to recognize when you're going in a good direction versus not going in a good direction. Looking back on your career, you say that it was luck and that it seems like things just fit together. I feel there was luck involved. There was a lot of hard work involved.

28:48There was not allowing something negative to, you know, cause you great difficulty. So, for example, when I finished my PhD, I would have liked a faculty position,

29:07Barbara Liskov:but I didn't have any good offers. So I went back to MITRE, the company I had worked for initially as a researcher, In other words, I just kept on marching along. And it turned out to be a very good choice because I was switching from AI to systems and this gave me, I worked there for four years, gave me four years to make that transition without having to worry about students and teaching and all the other stuff. So it worked out well. But it also meant that I didn't feel really sorry for myself that I didn't get a job. And then I just kept on going. And then Title IX was about to be passed. And finally, academia was opening up to women.

29:55Barbara Liskov:And I was ready. But I think when I talk to other people about their careers, they talk about doors opening and doors closing. So, I didn't get the academic job I wanted, but I had this other opportunity. I majored in math, and fortunately, I was offered a programming job. I mean, doors opened and then you have to decide, am I going to step through? And this is a pattern that people see in their careers. It's not just me. many people have those kinds of choices that you make along the way, opportunities and things that aren't so great, you know, and you're sort of working your way through. I've interviewed a few people who have won Turing Awards, and I've done research and watched a lot of these speeches that people give after they received the award, and I noticed something different in your speech or some of the stuff that I read about your work, which is that in yours, it seems like when you got the Turing Award, there were people saying, why did she get the Turing Award?

31:07It was kind of negative commentary on that. And I didn't see that in the other cases. Why do you think that they said that about your work?

31:16Barbara Liskov:So I'm not so sure this doesn't happen to other people, by the way. It was just that my husband was out on the internet. By the way, there was an internet by then. Okay. As you know, the internet is not necessarily nice. I know that. Right. And so I can imagine that other people might have had a similar experience had they bothered to look. But I also think that the world had changed so much and the work that I had done was so basic to what was going on that people really didn't understand that there was a before. I mean, my graduate students really didn't understand that there was a before because I discovered that at the time I got the award, it really hadn't struck them that data abstraction didn't always exist.

32:12Barbara Liskov:So, I think that, I mean, I viewed it as, in a way, a huge compliment, not really just to me, but to the group of researchers who, you know, all together got us to the point where we had these modular programming languages and we understood about abstract data types and we understood about how to reason about correctness. all that stuff was so fundamental that people thought there was no time when it hadn't already existed. So they took it for granted. They took it for granted. I mean, the Byzantine fault tolerance, you look at that, there's a protocol. And you can understand that there was a protocol.

32:55Barbara Liskov:Somebody invented that protocol. So you get the credit for that. This was much more fundamental. This was the whole mindset you had about how to develop programs. And that's what people were talking about. And things had changed so much that all these inventions of mine and others were just there in the woodwork and people didn't realize that there was a time before. That's validating then. Yeah. It's so impactful and everyone uses it all the time that they don't even know what it was like before what you did. So I thought, you know, it's a huge, the person who said it didn't mean it nicely, but I thought really it's a huge, a huge compliment and a statement about where we are now as opposed to where we were then.

33:43Barbara Liskov:So. Okay. Well, that's all the questions I have for you. Thank you so much for your time. I really appreciate it. You're welcome. Thank you for listening to the podcast. It's a passion project of mine that I really enjoyed building. Another passion project that I've been working on, kind of in secret, is building an ergonomic keyboard that I wish existed. And I finally have a prototype, so I'd love to show you what we've built. It's ultra low profile and ergonomic, and I couldn't find anything like it on the market. So that's why we built it. I'll put a link to the keyboard in the description.

34:15You can take a look and learn more about the project there. We could definitely use your support. Also, if you have any feedback for me about the show, I'd love to hear it. comments on YouTube have led to guests coming on like Ilya Grigorik and David Fowler I wasn't aware of them until someone dropped a comment also feedback in the comments helped me learn to reduce the number of cliffhangers in the intros so your comments definitely make a difference please keep letting me know what you'd like to see more of in the show and I'll see you in the next episode

From the publisher

Barbara Liskov is a Turing Award winner known for her work in programming languages and distributed systems. We discussed the major problems she solved in her career, stories about Dijkstra, getting rejected from Princeton because she was a woman and misc topics around her work.


🔸 My keyboard Kickstarter: https://www.kickstarter.com/projects/ryanlpeterman/compose-simple-ergonomics-beautifully-done


𝗣𝗼𝗱𝗰𝗮𝘀𝘁 𝗹𝗶𝗻𝗸𝘀:


• YouTube: https://youtu.be/T9CGjbPZeaM

• Apple: https://podcasts.apple.com/us/podcast/the-peterman-pod/id1777363835

• Transcript: https://www.developing.dev/p/turing-award-winner-data-abstraction


𝗘𝗽𝗶𝘀𝗼𝗱𝗲 𝗹𝗶𝗻𝗸𝘀:


• Go To Statement Considered Harmful: https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf

• Viewstamped Replication: https://www.cs.princeton.edu/courses/archive/fall09/cos518/papers/viewstamped.pdf


𝗧𝗶𝗺𝗲𝘀𝘁𝗮𝗺𝗽𝘀:


0:00 - Intro

1:00 - Getting rejected from Princeton

2:53 - The software crisis

9:03 - The drawbacks of Python

10:17 - Getting into distributed computing

13:09 - Paxos vs Viewstamped replication

21:44 - The significance of Dijkstras letter

25:04 - Why she stayed in academia

30:39 - Why her award was questioned

33:51 - Outro


𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗕𝗮𝗿𝗯𝗮𝗿𝗮:


• Wikipedia: https://en.wikipedia.org/wiki/Barbara_Liskov


𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗥𝘆𝗮𝗻:


• Newsletter: https://www.developing.dev/

• X/Twitter: https://x.com/ryanlpeterman

• LinkedIn: https://www.linkedin.com/in/ryanlpeterman/

• Threads: https://www.threads.com/@ryanlpeterman

• Instagram: https://www.instagram.com/ryanlpeterman

• TikTok: https://www.tiktok.com/@ryanlpeterman

More from The Peterman Pod

All 60 episodes
Turing Award Winner: Data Abstraction, Dijkstra, Distributed SystemsThe Peterman Pod · 35 min
Listen in VO