Newsgroups: comp.object,comp.lang.c++,comp.lang.eiffel,comp.lang.java,comp.lang.objective-c,comp.lang.sather,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!news.mathworks.com!uunet!in2.uu.net!ftpbox!mothost!schbbs!news
From: shang@corp.mot.com (David L. Shang)
Subject: Re: # ANNOUNCEMENT #: The Developer - A New Object-Oriented Language And IDE
Reply-To: shang@corp.mot.com
Organization: MOTOROLA 
Date: Thu, 11 Jul 1996 14:12:00 GMT
Message-ID: <1996Jul11.141200.27910@schbbs.mot.com>
References: <4ruqro$9sv@news.ld.centuryinter.net>
Sender: news@schbbs.mot.com (SCHBBS News Account)
Nntp-Posting-Host: 129.188.128.126
Lines: 40
Xref: glinda.oz.cs.cmu.edu comp.object:51819 comp.lang.c++:199499 comp.lang.eiffel:15200 comp.lang.java:67637 comp.lang.objective-c:5399 comp.lang.sather:2840 comp.lang.smalltalk:40658

Jon Rosen <jfrx@earthlink.net> writes:
> Many of the
> problems of C++ (and indeed of Obj-C and Java as well) are that they are
> hybrid languages.

shang@corp.mot.com (David L. Shang) writes:
> Exactly.

In <31E1577E.58EA@ix.netcom.com>, Giuliano Carlini <giuliano@ix.netcom.com>  
writes:
> No, it's nonsense.  As tmb@best.com (Thomas M. Breuel, I believe) said,
> the reason that efficient garbage collection of C-based languages is
> difficult is because of the semantics of pointers in those languages ---
> specifically the possibility of having pointers to the middle of objects,
> and the possibility of casting pointers to integers, writing pointers to
> and the possibility of casting pointers to integers, writing pointers to
> files, and so forth.  It's nothing to do with C++ and Obj-C being "hybrids".
> Plenty of non-OOP or hybrid languages have had effective and efficient
> garbage collection.
>

Don't you think those non-OOP or hybrid languages with GC without any
problem? When one thing dominate the whole system while it is not
sufficient to cover all the requirements, there will be a problem.
GC is such a case. Note that Java has an effective GC.

C++ pointers are hybrid, they are not thoroughbred objects. Smart
references in other languages with GC are aslo hybrid, they are not
thoroughbred objects. They have no "parent" or "creator". That is,
they are instantiated from nothing. They are rigid things that
you cannot change their behavior easily even when they behaves badly
or unsuitably. And unfortunately, they are rigid rulers in object
reference kingdom but they lack of self-knowledge. They should give
the crown to other capable ones when they are incapable to handle
situations like persisten objects, objects in distributed environment,
internet, etc.

David Shang


