| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
At 9:32 PM +0100 2/27/02, Thomas Engelmeier wrote:And the whole point of Obj-C is the (compiler supported) addition of a COM dispatch table,
You keep saying this, and it's not true. COM is nothing more than a standardized C++ virtual function table format on Windows.
QueryInterface doesn't buy you the kind of dynamism Objective-C includes natively. Also, Objective-C existed well before COM did.
In Objective-C, when you send a message to an object, it gets resolved at run time.
In C++, even virtual function calls are mostly static; they're just a double-indirect through a table rather than a straight jump. And the offset into the virtual function table is recorded at compile time, not determined at run time.
bizarre semantics for some compiler - supported reflection API,
In a true object-oriented language -- one that's built on dynamic messaging -- there's nothing at all "bizarre" about being able to ask an object whether it responds to a particular message. Also, again, it happens at run time, not compile time.
It's not really possible in Standard C++. To get these features in C++, you need [...]
But at the same time, it appears that some of the vocal critics of Objective-C *don't* really understand it. Please, learn the language and try working with it a little bit before criticizing it as "disgusting,"
"inappropriate for anything but rapid prototyping" (which is absolutely *not* the case),
"bizarre," etc.
| References: | |
| >Re: Objective C-- and multiple inheritance [OT] (From: Andrew Pinski <email@hidden>) | |
| >Re: Objective C-- and multiple inheritance [OT] (From: Thomas Engelmeier <email@hidden>) | |
| >Re: Objective C-- and multiple inheritance [OT] (From: Chris Hanson <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.