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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham 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!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.megapath.net!news.megapath.net.POSTED!not-for-mail NNTP-Posting-Date: Thu, 01 Feb 2007 16:53:00 -0600 From: "Randy Brukardt" Newsgroups: comp.lang.ada 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> Subject: Re: How come Ada isn't more popular? Date: Thu, 1 Feb 2007 16:54:24 -0600 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1807 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 Message-ID: NNTP-Posting-Host: 64.32.209.38 X-Trace: sv3-6JcjYx6oAlKKgMHGG7+vEeOnWULJJJ6Bm52wiuiZfT16OXfh+fy4vOrlukYuYxFWitom92meG/DQyhY!5oRI9jBwh6p9U4XU9jdekR0MSbAPxsCJfQDwTWwytZgujN+1BWEYjrJFBWPxyFdL87oicC/SoTSy!0BkjTZ4i3JZJzQ== X-Complaints-To: abuse@megapath.net X-DMCA-Complaints-To: abuse@megapath.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news2.google.com comp.lang.ada:8828 Date: 2007-02-01T16:54:24-06:00 List-Id: "Ray Blaak" wrote in message news:ubqkd8yk3.fsf@STRIPCAPStelus.net... ... > Even if you have a reusable GC library, I would still assert that you cannot > do your own GC properly at the application level. It is not that magical GC > hardware is needed, it is instead that the compiler has all the low level > hooks so as to provide the GC with the information needed to know when data is > in use or not. I don't agree. Ada provides those hooks to the user code in the form of controlled types and finalization. It's always possible for an object to know that it is about to be destroyed. Combined with using local objects as much as possible (so that they can be destroyed automatically) and avoiding references as much as possible, there is no particular problem, and no GC is necessary. The only time you need GC is when the owner of an object looses any connection to it without destroying it. I think that represents a program bug - a manifestation of sloppy programming. In any case, I think GC is just a stopover on the road to general persistence. At some point in the future, we'll have enough space that we won't ever destroy objects. That will give everything the value of a good version control system -- older versions will always be available. GC is unnecessary in this system (and quite possibly interferes with it), and forcing support for it isn't helpful. It's like encoding other forms of obsolete technology into your programming languages; because of compatibility you can never get rid of them. Randy.