comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: [OT] interesting reason why a language is considered good
Date: Mon, 16 Apr 2012 22:43:49 -0500
Date: 2012-04-16T22:43:49-05:00	[thread overview]
Message-ID: <jmiotp$3gc$1@munin.nbi.dk> (raw)
In-Reply-To: 4f8c93a0$0$6638$9b4e6d93@newsspool2.arcor-online.net

"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
news:4f8c93a0$0$6638$9b4e6d93@newsspool2.arcor-online.net...
> On 16.04.12 20:00, Dmitry A. Kazakov wrote:
...
>> Counter example:
>
> Only in case of universally quantified propositions. None of my business.
> But anyway,
>
>>     procedure Leave (When : Time);
> ...
> begin
>    while Now < When loop
>       delay Step;
>       Now := Clock;
>    end loop;
>    Left (Slot (When)) := Now;  -- NB p.p. of to leave
> end Leave;
>
> I have tried to choose only unspecific or ambiguous nouns.
> Do you find this to be explaining itself well? Note the "well,"
> not: possible to understand for the next few moments.

This is irrelevant, because Ada requires the names of the parameters to be 
those used in *calls*. The names used in the body probably ought to be 
nouns, but in calls, verbs or adjectives often work better:

    Leave (When => Now);

It is a smallish fault of Ada, in fact, because there almost never are names 
that work well both in calls and in the body. The solution is to define the 
parameter names as needed for readability in calls, and then (if those names 
are problematic in the body), rename them for use in the body:

     Exit_Time : Time renames When;

...
> begin
>    while Now < Scheduled_Departure loop
>       delay Pausing_Time;
>       Now := Clock;
>    end loop;
>    Actual_Departure (Minute_Of (Scheduled_Departure)) := Now;
> end Leave;

Unfortunately, this solution makes insanely wordy calls:

    Leave (Scheduled_Departure => Now);

In many cases, the parameter names overwhelm the actual values. The 
"solution" usually used is to omit them from the calls altogether, reducing 
readability and understandability.

> The first solution lets insiders pride themselves of knowing what
> the generic words mean, the second solution less so, I think.
> (I claim that neither is perfect.)

I would suggest using both, with a renames so that within the body, you can 
use the longer name, and at calls you can use the shorter name. Except, of 
course, since it is reserved.

                             Randy.





  reply	other threads:[~2012-04-17  3:43 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-15 10:27 [OT] interesting reason why a language is considered good Nasser M. Abbasi
2012-04-15 11:57 ` J-P. Rosen
2012-04-16 10:37   ` Peter C. Chapin
2012-04-15 12:27 ` Dmitry A. Kazakov
2012-04-17  6:59   ` tonyg
2012-04-17  7:43     ` Dmitry A. Kazakov
2012-04-15 14:05 ` Bill Findlay
2012-04-15 14:21 ` Pascal Obry
2012-04-15 14:54   ` Simon Wright
2012-04-15 15:34     ` Pascal Obry
2012-04-17  5:42       ` Brad Moore
2012-04-17 16:11         ` Simon Wright
2012-04-17 16:33           ` Robert A Duff
2012-04-17 19:34             ` Simon Wright
2012-04-17 21:42               ` Robert A Duff
2012-04-17 22:24                 ` Randy Brukardt
2012-04-18  7:00                   ` stefan-lucks
2012-04-17 21:17             ` Jeffrey Carter
2012-04-15 23:53     ` Brian Drummond
2012-04-16 10:43 ` Marius Amado-Alves
2012-04-16 11:48   ` Georg Bauhaus
2012-04-16 13:06     ` Dmitry A. Kazakov
2012-04-16 15:01       ` Georg Bauhaus
2012-04-16 15:31         ` Dmitry A. Kazakov
2012-04-16 17:11           ` Georg Bauhaus
2012-04-16 17:19             ` Georg Bauhaus
2012-04-16 18:00             ` Dmitry A. Kazakov
2012-04-16 21:48               ` Georg Bauhaus
2012-04-17  3:43                 ` Randy Brukardt [this message]
2012-04-17  4:43                   ` Bill Findlay
2012-04-17  7:46                   ` Georg Bauhaus
2012-04-17 22:32                     ` Randy Brukardt
2012-04-18  7:10                       ` stefan-lucks
2012-04-18 23:48                         ` Randy Brukardt
2012-04-19 14:22                           ` Shark8
2012-04-17 15:48                   ` Simon Wright
2012-04-17 16:15                     ` Dmitry A. Kazakov
2012-04-17 19:33                       ` Simon Wright
2012-04-17  7:34                 ` Dmitry A. Kazakov
2012-04-17 16:01                   ` Simon Wright
2012-04-17 17:42                   ` Georg Bauhaus
2012-04-17 19:17                     ` Dmitry A. Kazakov
2012-04-17  3:24           ` Randy Brukardt
2012-04-17  3:33           ` Randy Brukardt
2012-04-16 19:55   ` sbelmont700
2012-04-17  0:48   ` Peter C. Chapin
2012-04-17 21:59 ` anon
2012-05-13  4:14   ` David Thompson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox