• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Georg looks at that Georg! ;-)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

  • Follow-Ups:
    • Re: Georg looks at that Georg! ;-)
      • From: Marco Scheurer <email@hidden>
    • Re: Georg looks at that Georg! ;-)
      • From: Marco Scheurer <email@hidden>
References: 
 >Re: Georg looks at that Georg! ;-) (From: Georg Tuparev <email@hidden>)

  • Prev by Date: Main application loop question : what is inside [NSApp run] ?
  • Next by Date: path encoding on the file systems?
  • Previous by thread: Re: Georg looks at that Georg! ;-)
  • Next by thread: Re: Georg looks at that Georg! ;-)
  • Index(es):
    • Date
    • Thread