I haven't read too much Alan Kay before, but this interview made me realize that he's not really the inventor of object-orientation as we currently think of it. He says as much directly in the interview:
"And that's true of most of the things that are called object-oriented systems today. None of them are object-oriented systems according to my definition. Objects were a radical idea, then they got retrograded."
It sounds like his conception of "objects" is a more user-facing thing; an object is something you see on your screen and can interact with and manipulate by programming. This view blurs the line between users and programmers. I'm not sure this is a terribly realistic model for how normal people want to interact with computers. For all his disdain for the web, it has succeeded in bring content to over 2B people worldwide, most of whom wouldn't have the first idea what to do with a Smalltalk environment.
I haven't read too much Alan Kay before, but this interview made me realize that he's not really the inventor of object-orientation as we currently think of it.
Alan Kay is really the inventor of object-orientation. But when the concept of "type bound procedures" was added to compiled languages like C (making it C++), they called it object-orientation, even though type bound procedures are a different thing than object-orientation. Real object orientation is about sending messages between objects, those messages do not have to be predefined, they are not dependent of type hierarchies, they can be arbitrary, they can be relayed, ignored, broadcasted etc. You do not need classes or types at all to be object-oriented by Kay's definition.
Nothing you said contradicts my comment at all. I said "he's not really the inventor of object-orientation as we currently think of it." What we currently think of as object-orientation is not what he invented. I don't see what's controversial about this, since he said exactly this in the interview, and I'm not understanding the downvotes to -3. The second part of my comment was expressing basically the same sentiment as this comment, which was not downvoted into oblivion: http://news.ycombinator.com/item?id=4229788
> It sounds like his conception of "objects" is a more user-facing thing; an object is something you see on your screen and can interact with and manipulate by programming. This view blurs the line between users and programmers. I'm not sure this is a terribly realistic model for how normal people want to interact with computers.
Which misrepresents his contribution rather badly.
KAY: We didn't use an operating system at PARC. We didn't have applications either.
BINSTOCK: So it was just an object loader?
KAY: An object exchanger, really. The user interface's job was to ask objects to show themselves and to composite those views with other ones.
BINSTOCK: You really radicalized the idea of objects by making everything in the system an object.
KAY: No, I didn't. I mean, I made up the term "objects." Since we did objects first, there weren't any objects to radicalize. We started off with that view of objects, which is exactly the same as the view we had of what the Internet had to be, except in software.
I realize that objects in Smalltalk were not all graphical, but this concept of objects as graphical entities seems to be near and dear to his heart.
The interview does not discuss Kay's contributions in any depth. You have misunderstood them as a result of making weak inferences and not doing any further research.
You're right that I don't know his work that well and probably extrapolated too much from this interview. I just get a little irritated at people (even smart, famous people) who criticize successful projects like the Web or Wikipedia for not being good enough, or inferior to their own work, without acknowledging that their success in the marketplace shows that they must have done something right.
I'm glad he's working on STEPS; I'm eager to see him push the boundaries of what is possible, and if it succeeds, it will validate his ideas. But Smalltalk and Squeak have been around for decades, and yet the Web and Wikipedia are orders of magnitude more popular. So why does he have to bash their creators as "amateurs" or "lacking imagination" when their ideas have caught hold in a way that his work has not? What does he have to back up this criticism? Sure, a lot of the ideas from Smalltalk and his early work on object-oriented design have influenced other programming languages, but he himself says that the way in which object-oriented design evolved runs counter to his vision, not in support of it.
Maybe so, but this interview didn't really inspire me to. Almost nothing he had to say made any sense whatsoever. Wikipedia has a failure of imagination because the Logo page doesn't let you write Logo programs? What's wrong with Wikipedia being an encyclopedia and linking to some web page that is a full-on Logo programming environment?
I'm not really sure what I got wrong that explains the downvotes to -3.
You're mistaking this particular example with the general idea. What he means is that computers can do so much more than displaying text based content. And he not only wants you te be able to interact with information, he wants you to be able to create that kind of interactivity without becoming a real programmer first. To give a different example than the one about Logo; imagine a Wikipedia page about a well known mathematical principle, you can explain it with text and some images, but you could have explained it just as well on paper. Instead you could explain things in ways that only a computer enables you to do, for example like this: http://worrydream.com/#!/KillMath But that still scratches the surface compared to the stuff that Alan Kay wants to be the norm. I advice you read Alan Kay's work with that in mind: http://www.vpri.org/pdf/tr2011004_steps11.pdf
Sure, it would be amazing if the knowledge on Wikipedia could be presented to me in a more interactive and enlightening way. But there are a lot of hurdles between here and there. Interactions take a lot of talent, skill, and work to design -- will Wikipedia contributors have this skill? The possibilities are much more open-ended than a simple encyclopedia article, will Wikipedia contributors be able to collaboratively design and refine such a thing as easily as they write and revise a simple article? The code that implements those interactions needs to be sandboxed -- how do you prevent a random Wikipedia contributor from modifying the interaction's code to steal the viewer's Wikipedia credentials?
I'm all for Alan trying to make his vision a reality with the STEPS project, and I truly am interested to see if he demonstrates a new way of thinking about computing. But when it comes to ideas, the proof is in the pudding: the web is enormously successful, Wikipedia is enormously successful, so his criticism of them rings hollow.
The problem is that right now it is simply to hard to create this kind of interactivity. But in my opinion it does not necessarily have to be more complex than creating or maintaining a corporate spreadsheet.
will Wikipedia contributors be able to collaboratively design and refine such a thing as easily as they write and revise a simple article?
Absolutely.
how do you prevent a random Wikipedia contributor from modifying the interaction's code to steal the viewer's Wikipedia credentials?
The same ways as you would for text or image based content.
and I truly am interested to see if he demonstrates a new way of thinking about computing
Even when he is unable to demonstrate a new way of thinking about computing, I am sure we all can agree that a lot of things can still be improved. It would be a shame if the best we can do on computers is presenting information like we do on paper.
"And that's true of most of the things that are called object-oriented systems today. None of them are object-oriented systems according to my definition. Objects were a radical idea, then they got retrograded."
It sounds like his conception of "objects" is a more user-facing thing; an object is something you see on your screen and can interact with and manipulate by programming. This view blurs the line between users and programmers. I'm not sure this is a terribly realistic model for how normal people want to interact with computers. For all his disdain for the web, it has succeeded in bring content to over 2B people worldwide, most of whom wouldn't have the first idea what to do with a Smalltalk environment.