How is messaging different than calling a method?
A "method" is just a programming construct. A message in OOP is sent to an object to tell it to do something itself . In an OO approach, rather than have a Hammer hit a Nail, the Hammer sends a message to a Nail which knows how to be hit .
Alan Kay on the misunderstanding of OOP (1998)
61–70 of 212 posts
Re: Alan Kay on the misunderstanding of OOP (1998)
#62I find it interesting that everyone gets so up-beat about the ideology or philosophical debate about objects sending each object messages, hell even not relying to a message one object send you until a later date. Without even thinking about concurrency, state, and hell even the basics such as cyclic loops within a event based system! Though I keep hearing from Alan and other prominent language designers that we stil…
> I've seen too many project's that have drunken the cool aid and has resulted in 5-10 level deep inheritance tree's with their own branching logic trying to fit behavior to a specific taxonomy. I don't think you understand Alan Kay's version of OOP, if you think inheritance is a key part of OOP. I was interested in this stuff during the summer and I wrote up the following question/answer if you're interested on what…
The whole notion that everyone has their own perspective on oop makes it a mute point.
Re: Alan Kay on the misunderstanding of OOP (1998)
#63I find it interesting that everyone gets so up-beat about the ideology or philosophical debate about objects sending each object messages, hell even not relying to a message one object send you until a later date. Without even thinking about concurrency, state, and hell even the basics such as cyclic loops within a event based system! Though I keep hearing from Alan and other prominent language designers that we stil…
Part of the issue is that people have differing perspectives on computing. One half, see it in terms of computer and data science. For these, data-structures, algorithms and ADTs are paramount. Organization of the problem is through modularity and functional decomposition. An object (as in OO) might be useful for encapsulation, data and implementation hiding, and code organization. On the other hand, there are people…
Re: Alan Kay on the misunderstanding of OOP (1998)
#64Earlier quoted context omitted.
> I've seen too many project's that have drunken the cool aid and has resulted in 5-10 level deep inheritance tree's with their own branching logic trying to fit behavior to a specific taxonomy. I don't think you understand Alan Kay's version of OOP, if you think inheritance is a key part of OOP. I was interested in this stuff during the summer and I wrote up the following question/answer if you're interested on what…
Not saying its a key part. Im in the camp you better have a damn good reason to use inheritance that composition will suffice. The whole notion that everyone has their own perspective on oop makes it a mute point.
But yes, the number of variant perspectives on OOP make it a less descriptive term than would be ideal.
Re: Alan Kay on the misunderstanding of OOP (1998)
#65IMO the problem with object-oriented programming is that it turned into the standard curriculum for peoples' first semester of computer science, rather than being yet another interesting concept that advanced programmers would ponder. And the way we handle "the standard CS curriculum" sucks. (In the USA at least.) For example, AP Computer Science requires Java and tries to teach stuff like designing inheritance hiera…
I've asked a few why OO is the first thing you learn - and the reasoning was two fold:
1) People that start off by learn imperative programming end up writing really really shitty OO code. They're they type of people that end up copy and pasting stuff everywhere. It's really hard to get students to not take the "short cut" of copy paste to think in objects when you have homework deadlines and other things to worry about (and the teacher never actually spend time to teach you how to use programming toolchains...)
2) it's conceptually one of the biggest stumbling blocks for people. A lot of people have trouble wrapping their heads around OO. So sure you could teach it later, but it'll never sick or sink in.
Re: Alan Kay on the misunderstanding of OOP (1998)
#66I find it interesting that everyone gets so up-beat about the ideology or philosophical debate about objects sending each object messages, hell even not relying to a message one object send you until a later date. Without even thinking about concurrency, state, and hell even the basics such as cyclic loops within a event based system! Though I keep hearing from Alan and other prominent language designers that we stil…
"For what its worth I consider object's simply as a basic level category of procedures and data tied to a namespace.“ I mean you're just using different words to talk about the same thing. In your terminology inheritance is just extending a namespace and overloading names. How does that discredit or put into question the "mental model of command and control, or structured design concepts" If anything I feel the failu…
Also the pImpl is a consequence of C++ not adopting modules and instead rely on C linkers, nothing to do with OOP.
Re: Alan Kay on the misunderstanding of OOP (1998)
#67This was the time when Java-magnet pulled people, money and momentum from the Smalltalk community...
Re: Alan Kay on the misunderstanding of OOP (1998)
#68Otherwise, what makes method calls "messages" in Smalltalk, but not in Java?
This mailing list entry has always sound like bogus philosophistry trying to defend an imaginary high ground.
Re: Alan Kay on the misunderstanding of OOP (1998)
#69IMO the problem with object-oriented programming is that it turned into the standard curriculum for peoples' first semester of computer science, rather than being yet another interesting concept that advanced programmers would ponder. And the way we handle "the standard CS curriculum" sucks. (In the USA at least.) For example, AP Computer Science requires Java and tries to teach stuff like designing inheritance hiera…
Have you actually talked to educators about this? I've asked a few why OO is the first thing you learn - and the reasoning was two fold: 1) People that start off by learn imperative programming end up writing really really shitty OO code. They're they type of people that end up copy and pasting stuff everywhere. It's really hard to get students to not take the "short cut" of copy paste to think in objects when you ha…
Re: Alan Kay on the misunderstanding of OOP (1998)
#70Are there any examples of Kay's ideal other than The Internet? Especially systems that I could actually inspect and learn about in detail, rather than read short stories about.