Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!hplabs!hp-pcd!hplsla!jima From: jima@hplsla.HP.COM (Jim Adcock) Newsgroups: comp.lang.c++ Subject: Re: Eiffel vs. C++ -- Let's drop the garbage collection arguments Message-ID: <6590166@hplsla.HP.COM> Date: 22 Jun 89 21:14:51 GMT References: Organization: HP Lake Stevens, WA Lines: 27 > What I should have said is that "there is no language support for GC in C++" > (true) even though by suitable hackery you can graft it in; (false.) Overloading "new" and "delete" constitute C++ support for GC in my opinion, since I can now attach the GC scheme of my choice where I want it when I want it. Either as a global decision, or on a class by class basis. > I've even seen > GC grafted onto plain old C. In my opinion, this doesn't count; since > there's no language support, if you expect to use it, you're nonportable. (false.) Since Boehm's GC is designed to be portable, and has been ported to many different machine, there is at least one "public domain" GC that you can take with you when you move to a new machine. Ideally, write portable C++ code using G++ or cfront and Boehm's GC, and you should be able to port transparently to just about any machine you choose. > (I haven't seen the C++ GC wart, but the C one required assembly language > and an intimate knowledge of stack frames and register contents.) Warts are in the eye's of the beholder. In my opinion, forcing users of a language to use one particular GC scheme, where no particular GC scheme is universally applicable, is a wart, since this destroys a language for many of its would-be users. C++ attempts to leave as many of these decisions as possible in the hands of its users. Thus I am not force to use one person's idea of what I/O should look like. Nor am I forced to use one person's GC scheme.