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=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a84eaf8fb2470909 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!tiscali!newsfeed1.ip.tiscali.net!proxad.net!cleanfeed1-b.proxad.net!nnrp20-2.free.fr!not-for-mail Return-Path: X-Greylist: delayed 3600 seconds by postgrey-1.24 at green; Wed, 03 Jan 2007 21:37:02 CET To: comp.lang.ada@ada-france.org References: <78t224mtd234.1e11h379pwu57.dlg@40tude.net> In-Reply-To: <78t224mtd234.1e11h379pwu57.dlg@40tude.net>; from "Dmitry A. Kazakov" at Tue, 2 Jan 2007 12:11:53 +0100 Organization: 100 From: "Alexander E. Kopilovich" Date: Wed, 3 Jan 2007 22:33:54 +0300 (MSK) X-Mailer: Mail/@ [v2.45 MSDOS] Subject: Re: Ada generics MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: amavisd-new at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.9rc1 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.ada Message-ID: content-transfer-encoding: 7bit X-Original-Content-Transfer-Encoding: 7bit X-Leafnode-NNTP-Posting-Host: 88.191.17.134 NNTP-Posting-Date: 03 Jan 2007 21:40:01 MET NNTP-Posting-Host: 88.191.14.223 X-Trace: 1167856801 news-2.free.fr 294 88.191.14.223:35392 X-Complaints-To: abuse@proxad.net Xref: g2news2.google.com comp.lang.ada:8065 Date: 2007-01-03T21:40:01+01:00 Dmitry A. Kazakov wrote: >Others in other natural languages might come (and did) to even more crazy >ideas like "don't" = "do not". It might seem crazy only if you forget that the primary purpose of written form of natural language is to provide an adequate storage and long-distance communication tool for a speech. The form "don't" for "do not" did not emerge as a variation of written English - it just reflects some actual spoken form. > Why should that bother us? Well, obviously it may sometimes bother us in literals. In identifiers we can, as a rule, restrict ourselves to "canonical forms" without any loss of power of expression. The problem, though, is that only a fraction of programmers are able to resist the temptation of adding a touch of a literal to identifier. >The idea that programs should look like COBOL is just wrong. The idea is the programs should be readable. But readability is a complex issue, it heavily depends on the psychological features of particular reader, on particular purpose of reading and on circumstances (time available etc.). Sometimes COBOL is the best, sometimes an opposite extremity - APL - is the best. And if the programs should be readable not only by professional programmers, but also by those problem domain experts who aren't programmers themselves then the customs of particular problem domain also influence readability. >>> Mathematicians use much less descriptive identifies being absolutely free >>> to use Latin, Greek and Hebrew alphabets. Yet nobody even tried to use full >>> words. Why? >> >> Mathematicians use full words almost all the time when they >> explain their reasoning to human readers. >> >> echo "Let I ? N be a finite index set. For all k ? I, P(k)." | wc >> 1 15 58 > >Huh, none of these words is an *identifier*! They just don't use >descriptive identifiers, neither for free variables, nor for functions. Well, mathematicians generally do not use multi-letter words for identifiers for variables in formulas - just for readability of the latter. As for functions - well, as a rule, identifier for a function is also a single letter, although all (or almost all) standard functions have multi-letter identifiers - Sin, Cos, etc. Many operators and functionals have multi-letter identifiers. For example, differential operators div, rot, grad and functional for matrices Tr (aka Sp). Long words are regularly used as identifiers for classes (vs. objects) and functors (Hom, Tor, etc.) . And finally, even identifiers for variables in formulas quite often actually consist of 2, 3 or even more tokens: subscripts (not related to arrays) and superscripts, asterisks, tildas, etc. are frequent components of identifiers for variables.