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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c733905936c6b6b0 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.227.230 with SMTP id sd6mr10301600pbc.8.1334599247201; Mon, 16 Apr 2012 11:00:47 -0700 (PDT) Path: r9ni63626pbh.0!nntp.google.com!news1.google.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: [OT] interesting reason why a language is considered good Date: Mon, 16 Apr 2012 20:00:43 +0200 Organization: cbb software GmbH Message-ID: <9s7d2eufbh6f$.1ivcyxfztaq42$.dlg@40tude.net> References: <8603135.951.1334573001928.JavaMail.geo-discussion-forums@vbbdy9> <4f8c06f5$0$7617$9b4e6d93@newsspool1.arcor-online.net> <14veb9cpamoda.ck9fbsd5m9m$.dlg@40tude.net> <4f8c3431$0$7627$9b4e6d93@newsspool1.arcor-online.net> <4f8c52b2$0$7627$9b4e6d93@newsspool1.arcor-online.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: Gbl624r6iuNIccy3ASy5ag.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2012-04-16T20:00:43+02:00 List-Id: On Mon, 16 Apr 2012 19:11:13 +0200, Georg Bauhaus wrote: > On 16.04.12 17:31, Dmitry A. Kazakov wrote: >> On Mon, 16 Apr 2012 17:01:05 +0200, Georg Bauhaus wrote: >> >>> On 16.04.12 15:06, Dmitry A. Kazakov wrote: >>>> On Mon, 16 Apr 2012 13:48:04 +0200, Georg Bauhaus wrote: >>>> >>>>> On 16.04.12 12:43, Marius Amado-Alves wrote: >>>>>> Love OT threads in this clever forum:-) >>>>>> >>>>>> Actually there is a bit of thruth in the absurd no keyword thing: >>>>>> *many* keywords can get in the way of naming identifiers. Ada, for one, >>>>>> has a bit too many keywords, with some good identifier candidates (when, >>>>>> others...) >>>>> >>>>> "when" and "others" are general abstractions. What kind >>>>> of programs will in effect be about general abstractions? >>>> >>>> The kind of programs in Ada language, which uses exactly these words. >>> >>> And these are? (If you could avoid the tautological void. >>> Be constructive! ;-) >> >> All Ada programs that use the case-statement. > > How now? First, you distinguish syntax from some "rest" of > the program, and then, when I do the same, the distinction is gone? You asked for examples of programs allegedly suffering from generality of the word "when", here is one: case Alignment is when Left => ...; when Right => ...; when Middle => ...; end case; > My question is: If "others" were moved from syntax to identifiers, > then what fraction, and what kind of programs will hugely profit > because they can now name things "others"? No, it is you who have to show a great number of reasonable written programs hugely suffering if "others" were allowed as an identifier. In order to do this you need to put up examples specific to the word "others." If the template works for a non-reserved word too, it does not qualify. >> => it is bad to use in all programs => it is bad for the language in which >> all these programs are written. q.e.d. > > IIUC, this is close to what I have said about the word "what" as > an identifier. "What" is bad in programs except maybe in programs > whose problem domain is the singleton word "what". It should not be > used as an identifier, IMHO. Should not be used /= must be reserved. Reserved = restricted for special use. I.e. *needed* and *used*, but not everywhere. The argument you were trying to make is about illegal words, ones which may not to used (because they sound bad for you). Example in Ada: "0_Illegal___identifier" >> Surely "when" and "at" are prefect names for a formal parameter of the type >> Time. > > I disagree. In my initial response, I made them "Leaving_When" and > so on, as these names are more meaningful. Counter example: procedure Leave (When : Time); >> Also your argument to universality would also apply to the parameters named >> "X", "Y", "Left", "Right" all over the LRM. It did not work there, but >> suddenly does for "when"? > > A word may work in an LRM. However, a program's problem domain is > not the LRM, in general. function "+" (Left, Right : Integer) return Integer; > Simon Wright has recently shown a nice way how to mend the situation > with X and Y for surface orientation, using Ada 2012 (substituting > Northings and Eastings in the profile, IIRC). I wonder what Australians would say about that. Anyway X is not reserved. Why? >>> "What" as an identifier shouldn't be, IMHO, >>> reserved or not, so words like "what" not being reserved does >>> not count as counter-argument in my book. I'd rather have a >>> list of words not recommended to augment reserved words. >> >> So either they must be reserved or your argument is wrong. The choice is >> yours. > > There is no MUST here. See. In other words, there are other reasons why "when" is reserved. Exactly my point. >> Statistically irrelevant. > > I know I am not statistically relevant. Yet, for actual statistics, > if you see how programs are written in the low budget industry > that might change your mind. You mean that low budget industry has no access to an editor capable to colourise Ada source code? Come on, gedit, AdaGide, GPS are free! -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de