Re: Georg looks at that Georg! ;-)
Re: Georg looks at that Georg! ;-)
- Subject: Re: Georg looks at that Georg! ;-)
- From: "Dennis C.De Mars" <email@hidden>
- Date: Tue, 4 Mar 2003 09:34:37 -0800
BTW, this is not a matter of understanding - it is a matter of
definition!
It's true that if you declare an instance of a class on the stack you
don't get polymorphism (and C++ takes advantage of that fact to avoid
virtual method dispatch in this case) but if you create it dynamically
and refer to it with a pointer, you do get polymorphism.
In current computer science terminology (and as the term has been used
for the past fifteen years), this makes C++ an object-oriented
language. I'll agree there are some differences in the Obj-C paradigm
that give it some advantages. However, understanding these doesn't
change the definition of OO as it is used today. You can argue till
you're blue in the face that the original or "real" definition is
different and that marketing has hijacked the definition (I'm not sure
how much marketing really occurred with C++; now Java -- _that's_
marketing) but the fact is the hijacking is a fait accompli. That's
language for you.
- Dennis D.
On Tuesday, March 4, 2003, at 06:23 AM, Georg Tuparev wrote:
On Tuesday, Mar 4, 2003, at 02:17 Europe/Amsterdam, email@hidden
wrote:
I do not want to start yet another language war
My point was that using objects rather than
structures does not necessarily increase the memory
or reduce the speed, and that's all.
Oh dear! Somebody please give me a glass of scotch! A triple, please!
C++ is not an OO language. So, C++ has no objects. It has _structures_
that for better marketing are called objects! Is this really so
difficult to understand? To borrow from Buzz Lightyear, "C++ is not OO
language. It is assembler with style"!
There is NO true OO language where the memory occupied by a structure
is the same as the memory occupied by an object encapsulating the same
structure. One needs at least one additional pointer to hook the
object into the runtime system in order to allow message dispatching.
You just cannot make lemon cake with oranges!
BTW, this is not a matter of labeling or definition - it is a matter
of understanding!
Georg Tuparev
Tuparev Technologies
Klipper 13
1186 VR Amstelveen
The Netherlands
Mobile: +31-6-55798196
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.