Andrew Lentvorski wrote:
[EMAIL PROTECTED] wrote:
On Thu, Mar 20, 2008 at 11:23:10PM -0700, Christopher Smith wrote:
I find it depends a lot on the language you are using, actually. Using a deep hierarchy effectively in C++ is quite difficult and painful, but in
Smalltalk it seems quite natural.

Hmm since I don't know Smalltalk I can't comment but now I'm curious
why it fits so nicely with OOP.

Don't believe the hype.
It's not hype. This is simply based on first-hand experience.
Everything is an object can also be translated to "every function has an implicit first parameter".
There is some truth to this, but it misses the larger picture, particularly in Smalltalk as its message oriented nature is kind of key to its nature (indeed, upon reflection, Alan Kay thinks he should have called it "message oriented programming" rather than "object oriented programming"). Perhaps "every message has a receiver" might be more accurate.
  This is part of the reason for all the multiple inheritance stupidity.
? Smalltalk normally only does single inheritance, which tends to limit the amount of "multiple inheritance stupidity" you'll find in the environment.
Since you can't create a function which implicitly functions on *two* parameters and you *have* to make that function live in one object or the other, things get ugly.
Smalltalk has well established idioms to address this problem. One man's "ugly" is another man's "elegant". ;-)
In addition, most of what the Smalltalk guys rave about is not the fact that it is object-oriented. What they generally rave about is the fact that the system is introspective without limit.
Smalltalk let's you redefine practically all aspects of the system, and *that* is really the true power that gets people ridiculously excited about it (effectively "without limit" for nearly everything, not just introspection).

Overall, I'm curious about your response though. My observation wasn't about any of the Smalltalk hype, merely that deep hierarchies seemed more natural and less painful in Smalltalk than say C++ (a handy straw man ;-).

--Chris

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to