Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!hp-pcd!hplsla!jima From: jima@hplsla.HP.COM (Jim Adcock) Newsgroups: comp.lang.c++ Subject: Re: objective c Message-ID: <6590106@hplsla.HP.COM> Date: 24 Apr 89 18:40:01 GMT References: <4800061@m.cs.uiuc.edu> Organization: HP Lake Stevens, WA Lines: 37 > I don't understand this at all. Why do you > claim that ObjC is not OO? Maybe it's slower than C++, > but that doesn't eliminate it from the realm of object-oriented > languages. To me, a language is still not OO if it "supports" OO but at such a high cost that real world programmers cannot afford to use OOP style "all the time." Examples of the kind of code you see people writing if a language does not support OOP at a reasonable cost include: * Code that regularly violates the encapsulation of objects by accessing its instance variables directly rather than thru access functions. * Code that relies heavily on cpp macros to hack at the underlying implementation of objects. * Code that relies heavily on type coercions, with hopeful expectations of portability across a variety of machines. * The base language is constantly growing, with new fundamental features being added to it, as more and more people discover that they cannot get what they need to get done in a reasonable execution time, based on the prior rev. of the language's feature set. * Foundation classes that make use of all kinds of hacks to try and get reasonable speed out of the language -- if the language is not suitable for the implementors of the language to write in -- then how can it be suitable for other serious users ??? * Division of the users of a language into two camps: 1) we, the full time, professional writers of foundation classes that run fast, but are indecipherable, [and work only in ideal circumstances] and 2) you, the user of these foundation classes who are expected to write half-fast programs based on our fast, hack, foundation classes -- which may or may not work in your actual usage.