The Power of Abstraction
by Barbara Liskov (44min)
00:26 Software is complex
00:38 Addressing complexity has been one of the key topics for computer science research over the last 40-50 years.
When I started out computer science, people didn’t even know how to do efficient searching.
— Barbara Liskov
01:17 The fundamental problem in software is how to design it in the first place.
03:16 Programming Methodology is really about two related topics:
- The design process: How do you come up with a good organisation for your software, so that you can keep it under control.
- The structure that underlies that design process.
04:20 Djikstra’s paper “Go To Statement Considered Harmful” (1968)
04:27 If you think about the programming languages we use today, they don’t have
goto statements in them.
04:37 When Dijkstra wrote this paper it was extremely controversial. The reasons the paper was controversial were:
- People just thought it was silly.
- Another set of people were insulted.
05:10 The truth is you can build a program in any lousy programming language, provided you provide the right kind of discipline and the use of the features, so that you don’t walk into the issues, that arise if you use the programming language in a silly way.
09:20-10:40 Barbara defines Modularity in a very succinct way.