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.66.162.202 with SMTP id yc10mr42068170pab.47.1434997636359; Mon, 22 Jun 2015 11:27:16 -0700 (PDT) X-Received: by 10.182.153.65 with SMTP id ve1mr29603obb.40.1434997636316; Mon, 22 Jun 2015 11:27:16 -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!h15no7047646igd.0!news-out.google.com!a16ni1753ign.0!nntp.google.com!j8no248611igd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 22 Jun 2015 11:27:16 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=67.0.25.121; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 67.0.25.121 References: <4lrj5zz2u2z.u8x9cf7xzic6.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Ada design bug or GNAT bug? From: Shark8 Injection-Date: Mon, 22 Jun 2015 18:27:16 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:26420 Date: 2015-06-22T11:27:16-07:00 List-Id: On Monday, June 22, 2015 at 11:39:17 AM UTC-6, Randy Brukardt wrote: >=20 > What part of "anonymous access types are evil" did you fail to understand= ??=20 > :-) The mistake I regret more than any other was allowing their use to be= =20 > expanded, for a purpose that doesn't really work, with semantics that are= =20 > far more complex than anyone really wanted. Yes, anonymous accesses ARE pretty bad. But this does bring up the question: what missteps have been made in Ada's = design? Here's a few I can think of:=20 * Ada's lack of the ability to derive from a private type in the same packa= ge. (Aspects now allow us to specify the interface info [like Size or conve= ntion] at the point of declaration; arguably in a new language this would b= e required in some new Ada-derived language where the defaults are altered.= ) * Ada's inability to define subtypes on an enumeration where the enumeratio= n has a representation-clause in the private part. * Ada95's modular types combine the orthogonal idea of a cyclic numeric typ= e and an unsigned type -- conceptually it could have been better to separat= e the two. * Ada95's Representation clauses lack the ability to specify byte-order, th= ough they do offer bit-order. * The lack of a "abstract type" that could be used to unify (e.g.) [[Wide_[= Wide_]]String into a single "generic"/abstract type; ditto on Character.