"Designing something just powerful enough is an art."
December 10, 2019 7:15 AM   Subscribe

Susan D'Agostino recently interviewd Barbara Liskov, looking back at her work as a computer scientist with a mathematics background, working in the late 1960s when computing power had outpaced the abilities of programmers. Her response was data abstraction (Medium), as used in the CLU programming language (Wikipedia) that she and her students at MIT developed between 1974 and 1975, when AI was in its infancy. The Architect of Modern Algorithms. Barbara Liskov pioneered the modern approach to writing code. She warns that the challenges facing computer science today can’t be overcome with good design alone. (Quanta Magazine)

Bonus links:

Barbara Liskov, professor at MIT, presented an IT-history-based keynote at QCon, called “The Power of Abstraction”, and Graham Lee has collected all documents referenced in the talk in his post (archived).

In 2008, Liskov was the second woman to receive the Turing Award (Wikipedia), after Frances Elizabeth ("Fran") Allen (Wikipedia), who was recognized in 2006 for pioneering contributions to the theory and practice of optimizing compiler techniques that laid the foundation for modern optimizing compilers and automatic parallel execution.
posted by filthy light thief (11 comments total) 35 users marked this as a favorite
Great post! As a newbie coded I was worried I wouldn’t understand but this post is layman friendly IMO. Thanks!
posted by CMcG at 8:00 AM on December 10, 2019

Also, the inventor of the Liskov Substitution Principle, one of my favorite things!
posted by codewheeney at 10:57 AM on December 10, 2019 [5 favorites]

Also, the inventor of the Liskov Substitution Principle, one of my favorite things!

Look up articles about it and the moral they normally draw is How You're Doing It Wrong, w/r/t the circle/ellipse or square/rectangle or penguin/bird examples you will find therein.....I always kind of wondered, why not instead use these paradoxes to conclude that the whole idea of making subclasses just isn't that useful?

(That is discussed in the Wikipedia link:

Drop all inheritance relationships
This solves the problem at a stroke. Any common operations desired for both a Circle and Ellipse can be abstracted out to a common interface that each class implements, or into mixins.)
posted by thelonius at 11:15 AM on December 10, 2019 [1 favorite]

It's just that subclassing and mutability are strange bedfellows. Actually bad bedfellows. Those two things should not be in the same bed.
posted by a snickering nuthatch at 11:18 AM on December 10, 2019 [2 favorites]

Barbara Liskov, Fran Allen, and Grace Hopper are your classic female CS pioneers and they all did foundational work in programming languages. I wonder if this was a coincidence, or if there was something about that field and the way work was being done that made it less difficult for women to carve out some space for themselves. Perhaps the non-academic institutions, where they all worked to some extent (IBM/DEC/MITRE), were somewhat less sexist than the academic boys' club or the AI Lab hacker culture.
posted by vogon_poet at 1:02 PM on December 10, 2019 [2 favorites]

Perhaps the non-academic institutions, where they all worked to some extent (IBM/DEC/MITRE), were somewhat less sexist than the academic boys' club or the AI Lab hacker culture.

I had a coworker who worked at IBM in her first job in tech; from what she told me, it is hard to imagine it being less sexist than, well, anything. Maybe she landed in a pocket of good ol' boy IT culture (see; "Don Burleson, Oracle Consultant", for example) that was worse than normal, I suppose.
posted by thelonius at 1:23 PM on December 10, 2019

Liskov came to my school and gave a talk about her life; after so many years the only thing I remember was she didn't much like her assigned research project, so once she finished it she went on to pursue her own interests. I interpret the advice of that to be the importance of free independent inquiry and that's where creative discoveries come from.
posted by polymodus at 1:31 PM on December 10, 2019 [3 favorites]

I love this post, can't wait to dig into the links. Thank you, filthy light thief, for putting this together!!
posted by ipsative at 1:42 PM on December 10, 2019

To vogon_poet, my experience at MITRE was that it varied quite a bit between divisions, but we had an almost exactly equal mix for the technical staff in my dept, and for a while my direct supervisor, assistant department head, and division head were all women. I think having women at every level of the hierarchy had the effect of making it easier to hire more women engineers into the team, as well as showing the path to the higher levels. MITRE's also very interdisciplinary, which (I'm speculating) might have encouraged Liskov to make the transition from math to computing.

Now I'm at a small software company where the dev team is all men and we can't hire a woman to save our lives.
posted by hyperbolic at 2:00 PM on December 10, 2019 [3 favorites]

I hadn't hear of Liskov previous to this so thanks! Though I confess I can't name that many people in the history of computing at all.

Does she expand on the "design is not methodology" point anywhere? That hits close to the point with some problems I've had in my coding adjacent career.

(It also reminds a bit of a Stroustrup interview where he criticized methodology focus as an attempt to be able to use programmers like factory workers, which he was skeptical about. The circle-is-not-an-ellipse argument also ties into comments about CS having math envy in the same interview.)
posted by mark k at 8:41 PM on December 10, 2019

Liskov-Wing formalizes how aliasing and other mutability do and don't work with subtyping, if you want to let mutability in. It's important and fundamental work, but gosh, life is so much simpler when you aren't required to deal with mutability.
posted by away for regrooving at 10:42 PM on December 12, 2019 [2 favorites]

« Older “You want the true version?” he joked. “I have...   |   14 feared dead in New Zealand volcano eruption Newer »

This thread has been archived and is closed to new comments