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