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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.50.80.83 with SMTP id p19mr2023300igx.12.1438245918296; Thu, 30 Jul 2015 01:45:18 -0700 (PDT) X-Received: by 10.140.37.129 with SMTP id r1mr651760qgr.18.1438245918261; Thu, 30 Jul 2015 01:45:18 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!f3no4809210igg.0!news-out.google.com!4ni82996qgh.1!nntp.google.com!69no2760124qgl.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 30 Jul 2015 01:45:18 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=81.203.145.32; posting-account=AFCLjAoAAABJAOf_HjgEEEi3ty-lG5m2 NNTP-Posting-Host: 81.203.145.32 References: <2df4698f-4c8e-457c-822d-209cb2f8ab5e@googlegroups.com> <014427b1-ff7a-4a69-82e6-0330af77ed96@googlegroups.com> <91f88d79-197c-419f-84a8-908e05967a2c@googlegroups.com> <135c2b00-d13c-4f5d-a586-8aca442d363b@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Running a preprocessor from GPS? From: EGarrulo Injection-Date: Thu, 30 Jul 2015 08:45:18 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:27186 Date: 2015-07-30T01:45:18-07:00 List-Id: On Thursday, July 30, 2015 at 10:23:23 AM UTC+2, Georg Bauhaus wrote: > On 30.07.15 10:03, EGarrulo wrote: > > On Thursday, July 30, 2015 at 9:31:36 AM UTC+2, bj=F6rn lundin wrote: > >> On 2015-07-30 08:01, Niklas Holsti wrote: > >>> On 15-07-30 03:10 , EGarrulo wrote: > >>>> Who knows? But since the realm of Ada is limited to embedded > >>>> development, > >>> > >>> It isn't. > >> > >> It is certainly not. > >> I've spent 18 years writing Ada in WMS/WCS systems - > >> Database intense system with 100+ concurrent users > >> Nothing embedded at all with them. > > > > That doesn't mean much. Ada doesn't offer any facility for > > automatic resource management, and that makes it unsuitable for > > applications that go beyond constrained embedded development. Who > > wants to chase resource leaks in this day and age? >=20 > Is this about GC only? Having had to fight GC in Java, > at a time when it was assumed that GC would magically have > no effect on the program, I'm not sure this isn't a bit > optimistic. But surely it is what one should say. >=20 > For completeness, management of resources other than > memory, if tied to GC, becomes uncontrolled happenstance. >=20 > There are others who think that the allocation management > of older Objective-C, say, was something they could well > live with (e.g. Hillegass, but maybe he is biased). > And now we got weak and strong properties and all kinds > of algorithmic shift around them. That seems to match what > Dmitry has been explaining about hard/soft references. > The next cry is certainly for automatic hardness management > of reference. >=20 > In Ada, use the stack, if possible! > In Ada 2005, use containers, if possible! >=20 > > Not to mention > > the crippled support for exceptions in Ada. >=20 > Do you mean that exceptions of Ada cannot be used for indirecting > non-local control flow with the help of exception objects?=20 Exceptions in Ada cannot carry contextual information, nor they can be chained (albeit you could hack them to do both). Where is the usefulness of knowing that something has gone awry, without any context? For example: "'File not found?' What file was the program trying to open, and why?" In embedded software, it makes sense to avoid memory allocations while raising an exception, but elsewhere? > I'm still > not sure anything but messages should go with exceptions: it is > too tempting for consultants to apply techniques of obfuscation > via exception classes. Even involuntarily! Could you explain further, please?