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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,429176cb92b1b825 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news2.google.com!news3.google.com!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: AWS Coding Styles (and about boring plain-linear text files in the end) Date: Wed, 19 Jan 2011 22:43:33 +0100 Organization: Ada @ Home Message-ID: References: <3077fffa-eed7-4763-8bca-9ac3bb0a41e1@o14g2000prn.googlegroups.com> <82y66ihc0i.fsf@stephe-leake.org> <4d355532$0$6878$9b4e6d93@newsspool2.arcor-online.net> <8b58b9da-a014-4a0e-8d20-ca86a4993961@h17g2000pre.googlegroups.com> NNTP-Posting-Host: 2gba2B6ZhmveiNSbnmeIoQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 User-Agent: Opera Mail/11.00 (Win32) Xref: g2news2.google.com comp.lang.ada:17541 Date: 2011-01-19T22:43:33+01:00 List-Id: Le Wed, 19 Jan 2011 15:52:14 +0100, J-P. Rosen a =C3=A9= crit: > What I meant is that the sentences in journal are quite predictable, a= nd > if you miss some information, you can trust that the brain will > reconstruct it correctly. Moreover, it is optimized for speed of readi= ng. > > Reading a program should be optimized for accuracy of understanding, a= nd > making sure that no misinterpretation can happen. I claim these are > different goals. To confirm this, and also in reply to Dmitry. There are at least two = differences in formal language vs natural language. Dmitry, The natural language is known to be redundant and these redundancies var= y. = Ex, you have in french, a tiny word meaning the plural, =E2=80=9Cles=E2=80= =9D, and when it = is associated to a word, this peer also get another mark, meaning the = plural too, =E2=80=9Cs=E2=80=9D (to keep it simple). If ever a word got = the =E2=80=9Cs=E2=80=9D while it = is not associated to =E2=80=9Cles=E2=80=9D, or is associated to =E2=80=9C= les=E2=80=9D while it does not = hold the =E2=80=9Cs=E2=80=9D, you may say, =E2=80=9Couch, there must be = an error here=E2=80=9D. If the = latter occurs, how could you say if the word is plural or not ? You may = = think natural language dos not help a lot here and semantic of Ada is fa= r = above=E2=80=A6 humm, not sure: at least the natural language gave you an= = opportunity to feel there is an error. This is to what the redundancy = about the plural is often useful to (and many other strange things behav= e = the same way). The reader or the audience may also be able to correct = using some other inference to guess what the status of the word was = intended to be. The second example is about to be implicit. There is a more or less = constant context in natural language, which is a consequence of a more o= r = less constant environment I suppose (our expression in our language is i= n = reference to our environment, for some numerous parts). This implicit = helps to feel possible holes the speech/text may contains. Well, this is= = not real a formal way of doing things, and to help, many checks (among = ones the one exposed above) are involved. With a language like Ada (or Lisp, or Python or whatever), while very = nice, none of the above applies: an error is an error and there is nothi= ng = which gonna make it somewhat obvious to your eyes. Of course, there are = = spelling mistakes in identifiers, but a statically checked language like= = Ada already do this job for you at compile time. The error you have to = deal with are more pernicious and deals with consequences (this is not t= he = same kind of interpretation as a natural language which is more = declarative=E2=80=A6 but I do not mean it is declarative the same way de= clarative = programing languages are). In short: not self-check opportunity, no implicit and different kind of = = consequences in the end. Reading Ada source and reading a news-paper is indeed like comparing = Halley's Comet and the Earth. Now, what checks did you applied while reading me ? What implicit truths= = did you had in mind for you inferences and understanding ? And above all= , = how did you interpreted this in the whole ? You see ? ;) Would be funny = to = see, but we may even never ever see. If you did not interpreted this the= = way I wanted to mean it, you will not crash, I will not crash, and we wi= ll = probably recover (may not be consciously), re-sync in many ways, and man= y = other funny behaviors. That's just a third example of the difference = between this kind of natural language and formal languages. Just see how natural language text are laid out: not the same at all, it= s = mainly flow like (and in the area of text layout, we indeed talk about = =E2=80=9Cflow=E2=80=9D). This layout difference is the expression of dif= ferent needs and = requirements to read. (hope this was meaningful enough) -- = Si les chats miaulent et font autant de vocalises bizarres, c=E2=80=99es= t pas pour = les chiens. =E2=80=9CI am fluent in ASCII=E2=80=9D [Warren 2010]