OOPSLA 2009 kicked off today, Tuesday, with Barbara Liskov's keynote. She being the A.M Turing award winner in 2008 is enough evidence of the importance and impact of her work. As one of the pioneers in programming language research, she went back in time and pointed out to places where the key programming principles began. It is amazing to see how some of these principles that we take for granted today arose from confusion and chaos thanks to pioneers like Barbara.
Barbara's keynote was aptly named "The Power of Abstraction." She talked about the importance of abstraction in programming languages and mentioned how the thought process changed from having complete control over the resources to giving up some of it to gain abstractions for the sake of readability. Barbara went back in time to explain the story of CLU and also the ARGUS, a language and a system for distributed computations. The lessons learned from these projects, which happened about 35 to 25 years ago, were the building blocks of many of the modern languages. Some of the features we see in modern programming languages that are considered revolutionary are in fact evolutionary and has their roots in languages such as CLU and ARGUS.
Some of the key papers Barbara pointed out were
1. "Go To Statement Considered Harmful" by Edsger W. Dijkstra (1968)
2. "Program Development by Stepwise Refinement" by Niklaus Wirth (1971)
3. "Information distribution aspects of design methodology" by D.L. Parnas (1971)
4. "Programming with Abstract Data Types" by Barbara Liskov and Stephen N. Zilles (1974)
While ideas discussed in these papers seem so ordinary today, they indeed originated decades ago and played key roles in creating the modern technology landscape. Perhaps the most recent theoretical contribution Barbara is known for is the Liskov Substitution Principle which has played a key role in shaping modern object oriented languages. There were several interesting and somewhat controversial perspectives, such as Barbara's belief that inheritance is not the most interesting feature in modern programming languages, that initiated several interesting discussions. When the discussion progressed it was clear that there are multiple , equally valid perspectives for most of such issues.
As one of the participants commented during the Q&A session, "the Turing award was well deserved."
No entries found