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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada Annoyances Date: Wed, 28 Jun 2017 10:21:23 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <1ac5a44b-4423-443a-a7bb-2864d9abe78f@googlegroups.com> <1498048151.20885.28.camel@obry.net> <96174ea5-852d-44e9-8535-7c1eb24d5326@googlegroups.com> <8d3aff06-82df-485f-89e5-a50c326aab05@googlegroups.com> <66aa262e-2ac9-4016-b32d-e9fee14779e1@googlegroups.com> <88e2f18a-0786-4303-a5b8-fe82e8c81dcb@googlegroups.com> <71c4fdcd-4213-4b84-b852-c8674cfaf717@googlegroups.com> <98197f40-9833-4bb8-87ca-1593d2da7c81@googlegroups.com> NNTP-Posting-Host: vZYCW951TbFitc4GdEwQJg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Language: en-US Xref: news.eternal-september.org comp.lang.ada:47153 Date: 2017-06-28T10:21:23+02:00 List-Id: On 27/06/2017 22:38, Randy Brukardt wrote: > I say "almost" because I don't believe in making absolutest statements. But > if one uses Ada as it was intended, and don't try to fit designs from other > languages into it, there aren't any problems here. I disagree. There are very serious problems with object initialization/finalization in Ada whatever pattern you use. Neither controlled nor constructing functions fulfill even reasonably minimal requirements on safety and usability. The problem is aggravated by the fact that you cannot foresee the consequences of any choice. It may hit you months later on the road in some descendant type. I had cases when I had to start over from scratch several times. The situation is absolutely unacceptable for Ada as a language for software engineering. > But all I see here is you trying to prove that C++ is better than Ada. That is a bit unfair. He only said that C++'s initialization model is perfect. Well that is wrong. However true is that the language must support user-defined type-specific constructors, non-overridable and with parameters. This is not enough to make initialization working but it is a required part of it. You say that Ada's initialization model is tolerable because there cannot be anything better. This is inconsistent with very notion of strong typing. If type safety cannot be supported we must say goodbye to strong types. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de