From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Possible to recover default value of scalar type? Date: Mon, 14 Dec 2020 19:53:23 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <0c0ddb8e-6a82-473d-8143-f4076242f520n@googlegroups.com> <86r1ntntb3.fsf@stephe-leake.org> <0ded905f-94ac-4470-936c-7f1cb19ac798n@googlegroups.com> <82e629ea-bd59-417a-9185-dd6094e396c1n@googlegroups.com> <570e9d30-0b33-45f0-a9fe-163cc810a770n@googlegroups.com> NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.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 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:60844 List-Id: On 2020-12-14 19:24, Simon Wright wrote: > "Dmitry A. Kazakov" writes: > >> [ It was a language design bug to allow implicitly uninitialized >> variables in the first place. Declarations like above should have been >> illegal. ] > > There is an argument that you should only initialise variables at the > point of declaration if you know what value they should take; so that > the compiler can detect the use of uninitialised variables. I think Robert Dewar argued that variables must be declared in the narrowest possible scope. Which would imply that at the beginning of that scope you should know the value, because it would be the first use of the variable. > If you always initialize variables, even if you don't know what value > they should take, the compiler can't help you if you forget to assign > the correct value. > Personally I always try hard not to declare an uninitialised variable. Same here. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de