You're right that he's regretted the term "object-oriented programming," and wishes that he'd come up with something better. I think he'd mentioned hearing the suggestion of "message-oriented," but I haven't heard him settle definitively on a term that he felt would accurately convey his ideas about it. I agree with "message-oriented," because I think to today's developers it gets the idea across pretty well. He's still possessive of the term "object-oriented," even though just about everyone else has some very different ideas about it than he does, and it seems like he sees it as representing his legacy. He sees himself as being known for it, and perhaps it's not so easy to change that.
What you've said about messages being goals I think is one way of interpreting the idea. In the same conversation I quoted from above, he also said this:
[A] metaphor that I used in the 70s was that regular programming was a single chef (a very high bandwidth chef) zipping around fashioning with ingredients, and object oriented programming was negotiating with agents -- that agents were ambassadors, etc. (I got talked out of trying this metaphor in my 1977 Scientific American article by the editor Dennis Flanagan -- maybe this was good.)
But the deepest analogy was one of the earliest for me: biological organisms made from cells - and they definitely do negotiate.
Also, I would characterize the ARPA (and then the concentration at PARC) as mainly interested in a "no-centers" style scaling architecture (personal computers, Internet, Ethernet, objects, "no OS", "no Apps", etc.).
So a lot of the interest was how to get things done without having to concentrate the knowledge in one or a few places (because this would require these places to have to control "ingredients").
Based on this, "goals" seemed more like, "I want to get to X," or, "I'd like to accomplish X," but whether the object would actually do that for me is another matter. So the message represents my goal, but that doesn't mean that the goal will be fulfilled. I'm not saying that any current OO system should necessarily operate this way. I'm just trying to bring ideas together in a way that makes sense.
Jumping off what he talks about with "no centers," he's said in the past that the internet, the physical infrastructure and TCP/IP, is a good example of an object-oriented system. I think it could be argued that it's a better OO system design than Smalltalk. The thing is, this way of doing things is hidden from most people. The internet experience for most is not that different from interacting with a mainframe.
Re. the quote about premature optimization
In the book "The Dream Machine," one of the things Waldrop mentioned is that when Licklider and his buddies would get together in what I'd call "jam sessions" (I think in the 1940s) where he and his colleagues would swap and discuss ideas, they'd come away with some great new ideas, but nobody knew who came up with them, because it was all a synthesis of what each person contributed. There have been some quotes I've attributed to Alan Kay in the past that now I wonder about, because, for example, one I've used I've also seen attributed to Dan Ingalls. I know they've both said them. They may have come up with these ideas amongst each other, and so attribution is problematic.
Discussion on:
Message 49 of 185

































