<Future of Coding 72 • Pygmalion by David C. Smith...
# share-your-work
i
Future of Coding 72 • Pygmalion by David C. Smith If you're anything like me (oof, sorry), you've heard of Pygmalion but never caught more than the gist. Some sort of project from the early 70s, similar to Sketchpad or Smalltalk or something, yet another promising prototype from the early history of our field that failed to take the world by storm. Our stock-in-trade on this show. But you've probably heard of Programming by Demonstration. And you've certainly heard of icons — you know, those little pictures that have become indelibly part of computing as we know it. Pygmalion is the originator of these concepts… and more! The best introduction to Pygmalion is @Mariano Guerra's No-code History: Pygmalion, which includes a clearly articulated summary of the big ideas, motivation, and design, with a video demonstration of the programming interface, key terminology, and links. The most introduction to Pygmalion — or Pig Million, The Millionth Pig, as it'll surely come to be known — is the subject of today's episode: the original paper by David Canfield Smith.
piggy 4
🍰 11
❤️ 2
j
I'm realizing that because my work has to do with taking the meaning of written language in laws and converting it into meanings expressed in formal coding languages, that I am basically accidentally drowning in philosophy of language, without having any education in it. So to the idea of an episode on philosophy of language. But I'm a niche audience.
👍 1
p
Is the APL assignment operator analogical?
i
I'll bite! What is it analogous to? And what makes it special compared to other assignment operators? (I've always been curious about APL, but know very little about it)
p
It's an arrow pointing to the left. Rendered in ASCII art it looks something like "i <- 1" Presumably it represents the movement of the value on the right to the location named on the left.
i
Ah that opens up a bunch of great questions! Is an arrow from A to B analogous to the movement of something from A to B? I could argue either side of that one!
s
And now I’ll bite and argue for one side with cognitive science. The term to look for is kinesthetic/cognitive image schemas. Specifically the PATH schema seems relevant. I wouldn’t quite call it philosophy of language, but if you want to climb down that rabbit hole, Lakoff and Johnson’s Metaphors We Live By is a pretty good starting point. Here’s a small presentation about Pointing, which I just found in a few seconds that seems to provide some good material to support this: http://faculty.lawrence.edu/wp-content/uploads/sites/18/2015/11/Pointing.pdf
If I’m not mistaken, then Iverson tried to pick notation that was visually connected with the functions it stood for. That was way before cognitive science became excited about embodiment, I think, so he couldn’t have based it on this research, but had pretty good intuition. Section 1 in his Notation as a Tool of Thought discussed the balance between several criteria he tried to strike.
This makes me wonder: back in those days of APL and Pygmalion, all those programming scientists we look to were educated in many different fields. Computer science wasn’t a thing yet and even when it slowly became one, there just wasn’t that much material around yet. So they were exposed to many other ideas. Think of Alan Kay and how he was influenced by biology which lead to Smalltalk’s object-orientation and message passing. That doesn’t happen anymore, because now we’re obviously drowning in computer science material, so much so that fragmented sub-communities in computer science haven’t even heard of each other. Could this be a reason why we no longer see such astonishing and groundbreaking ideas that seem to have been much more likely to appear back then?