W3C home > Mailing lists > Public > www-dom@w3.org > April to June 1998

Re: NodeIterators & Java implementation

From: Vidur Apparao <vidur@netscape.com>
Date: Thu, 07 May 1998 11:55:19 -0700
Message-ID: <35520397.653F2DF7@netscape.com>
To: Don Park <donpark@quake.net>
CC: www-dom@w3.org
We expect that the DOM will be used in the context of various languages and
object system, each which might have its own mechanism for memory management.
Any specific binding of the DOM should be able to specify its own memory
management primitives. COM, for example, has its own notion of reference
counting, including AddRef() and Release() methods in the base IUnknown
interface. JavaScript is a garbage collected language. In both cases, an
explicit "release" method specified by the DOM would be redundant and
unnecessary. Since memory management is so object system specific, I strongly
believe that the DOM should not mandate its own primitives.

--Vidur

Don Park wrote:
> 
> One topic that is missing from the spec is how to free/delete/release
> objects obtained through DOM.  For example, what should one do with Node
> returned by Node.removeChild?  Document interface has methods for creating
> objects but nothing to delete them.  Are we do assume that language specific
> facilities are to be used?  Do we use 'delete' operator or 'free()' under
> C++?  What about CORBA and COM-based implementations?  One does not just
> 'delete' under COM.
> 
> Also how do we know which objects should be deleted and which one should not
> be?  What is wrong is designating 'release' on Node as well as iterators as
> Java specific delete facility?  For that matter, why not move it all the way
> up so everyone can standardize on the delete facility?  It would certain
> remove a lot of headaches.  If one is smart enough to invoke getNodeChilds,
> why is requiring invokation of release() too much?
> 
> Don Park
> http://www.docuverse.com/personal/index.html
Received on Thursday, 7 May 1998 14:55:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:13:45 GMT