From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news.belwue.de!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: in defense of GC Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <1169531612.200010.153120@38g2000cwa.googlegroups.com> <1mahvxskejxe1$.tx7bjdqyo2oj$.dlg@40tude.net> <2tfy9vgph3.fsf@hod.lan.m-e-leypold.de> <1g7m33bys8v4p.6p9cpsh3k031$.dlg@40tude.net> <14hm72xd3b0bq$.axktv523vay8$.dlg@40tude.net> <4zwt33xm4b.fsf@hod.lan.m-e-leypold.de> <1j7neot6h1udi$.14vp2aos6z9l8.dlg@40tude.net> <1pzx3y7d2pide.y744copm0ejb$.dlg@40tude.net> Date: Sat, 3 Feb 2007 11:13:37 +0100 Message-ID: NNTP-Posting-Date: 03 Feb 2007 11:13:21 CET NNTP-Posting-Host: c3a1f4c6.newsspool1.arcor-online.net X-Trace: DXC=B=0i0o?Im`^jmk@<0 On Fri, 02 Feb 2007 13:44:42 +0100, Markus E Leypold wrote: > "Dmitry A. Kazakov" writes: > >> On Fri, 02 Feb 2007 01:37:26 GMT, Ray Blaak wrote: > >>> The point is that the programmer is freed from the error prone tedium of >>> explicitly managing memory. >> >> This is a misconception. There are two fundamentally different issues: >> >> 1. Object scopes >> 2. Memory management >> >> The second issue is less and less relevant as Randy pointed out. The first >> issue is always relevant. It is a good design to consider where an object >> exists. GC [and upward closures] is an attitude of making everything >> potentially global. In fact it is worse than just global. It is "I don't >> know where I need that damn thing." > > Closure don't "make things global". They do it as much as returning an > Integer, makes, GOD FORBID!, a value global (don't return Integers > people, that makes a value global and we all know, global is bad -- > how nonsensical is that?). You return a value of the type (Integer) which scope encloses the subprogram returning that value. > Closures provide exactly the opposite of > "making things global". They provide a way for a module (a capsule of > knowledge / implementation) to return a method (how to do things) > without disclosing the implementation (i.e. keeping up the abstraction > barrier). I have no problem with that. But it is not yet an upward closure when the type of the returned object is local. I am a long proponent of procedural types for Ada. Now consider. A procedure is a limited object. Limited objects can be returned in Ada 2005. What else you need? [Note, this is still not an upward closure, I am opposing.] > I can't believe I even have to spell it out. On the other side -- why > do I argue? You're even opposing generics. Yes I do! (:-)) >> This is A) mess, B) sloppy programming, C) impossible model in our >> networking distributed relativist world. > > There are BTW, even distributed garbage collection algorithms. This > probably will enrage you no end? :-). Yes I know, they are usually called trojans... (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de