comp.lang.ada
 help / color / mirror / Atom feed
From: "Ken Garlington" <Ken.Garlington@computer.org>
Subject: Re: Three simple questions
Date: Tue, 10 Oct 2000 00:42:51 GMT
Date: 2000-10-10T00:42:51+00:00	[thread overview]
Message-ID: <fCtE5.459$ln6.68747@news.flash.net> (raw)
In-Reply-To: 2BED68CA963D6D55.A78776F656DA0452.75A61ED22116F1B6@lp.airnews.net


"Frank Christiny" <fchris@pdq.net> wrote in message
news:2BED68CA963D6D55.A78776F656DA0452.75A61ED22116F1B6@lp.airnews.net...
> Friends,
>
> Having arrived recently into the green Adian world, I am trying to
> assimilate all there is to know about this powerful, unfairly
> maligned computer language.  Most questions I have been able to
> answer from the FAQs here and there but there are three (so far) that
> have gone unanswered:
>
> 1.  What is the correct pronunciation of Dr. Ichbiah's name?
>     Is the "ch" pronounced as in "Loch" or as in "each"?  Is the
>     final "h" is silent?

I believe it is something like "itch-bee-ahhhh," but I don't know for sure.

> 2.  What is the rationale for case-insensitivity in the language?
>     I am beginning to think it is mostly for historical reasons
>     (some machines didn't have two case letters way back then, etc.).
>     Are there any real technical reasons for why this is so even
>     after Ada95, besides preserving backwards compatibilty?

A hint as to the answer to this question may lie in Section 2 of the Ada83
Rationale:

"The allowed characters belong to the ISO (ASCII) character set, and the
text of a program may contain both upper case and lower case letters. For
portability reasons, it is possible to write any program in a 56 character
subset of the ISO character set.... Reserved words other than operators
cannot be redeclared, and operators can only be redeclared as operators and
with the same precedence. Hence programmers cannot write obscure programs by
redefining the meaning of words that play an important syntactic role in the
definition of the structure of Ada texts.... an underline character may
appear between two other characters of an identifier. This underline is
significant and plays the role of the space in ordinary prose (but without
breaking the integrity of the identifier). The need for such an underline is
seen from good choices of names such as BYTES_PER_WORD
rather than BYTESPERWORD. Furthermore the significance of the underline
makes SPACE_PER_SON a different identifier from SPACEPERSON or SPACE_PERSON
and A_NYLON_GRIP different from ANY_LONG_RIP."

-- http://www.adahome.com/LRM/83/Rationale/Text/ratl-c2.hlp

So, at least part of the argument for case-insensitivity could be backwards
compatibility (as also described in section 2.1 of the Ada83 standard).
However, it could also be argued that allowing the following might be
considered "obscure" programming:

procedure Launch (Person : String);
procedure Launch (Space : Positive);

SpacePerson: String;
SpacePerSon: Positive;

...

Launch (SpacePerson);
-- compiles (and maybe executes) without an explicit error message.
-- Is it what was meant? Will anyone notice?

> 3.  How can one block-comment in Ada?
>     It can become cumbersome sometimes, adding all those "--"s in
>     front of a large block of code one wants to "test out" on the fly.
>     Again, are there any good technical-engineering reasons why this
>     feature was left out?

This one is a little easier to answer. Again, from section 2 of the
Rationale:

"Comments may appear alone on a line or at the end of a line. As an end of
line remark, the comment should appear as an explanation of the preceding
text -- hence the use of a double hyphen (doing duty for a dash) is natural
and appropriate, as illustrated by this sentence. For simplicity, a space is
not allowed between the two hyphens. No form of embedded comments (within a
line of text) is provided, as their utility is insufficient to justify the
extra complexity. Single comments that are larger than one line are not
provided. Such comments would require a closing comment delimiter and this
would again raise the dangers associated with the (unintentional) omission
of the closing delimiter: entire sections of a program could be ignored by
the compiler without the programmer realizing it, so that the program would
not mean what he thinks. Long comments can be written as a succession of
single line comments, thus combining elegance with safety."

>
> Regards,
> --
> Frank Christiny                       fchris@pdq.net
> Sr. Software Engineer                 Lockheed Martin Space Operations
> Houston, Texas, USA                   http://freeweb.pdq.net/fchris/





  parent reply	other threads:[~2000-10-10  0:42 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-09  0:00 Three simple questions Frank Christiny
2000-10-09  0:00 ` John McCabe
2000-10-09  0:00   ` Frank Christiny
2000-10-10  0:00     ` Larry Kilgallen
2000-10-10  0:00       ` Case for case-sensitivity (Was: Three simple questions) Frank Christiny
2000-10-10  0:00         ` Ted Dennison
2000-10-10  0:00         ` David Starner
2000-10-12  0:00           ` John English
2000-10-10  0:00         ` David C. Hoos, Sr.
2000-10-10  0:00         ` tmoran
2000-10-10  0:00         ` mjsilva
2000-10-10  0:00           ` John Magness
2000-10-11  0:00         ` John English
2000-10-11  0:00           ` Frank Christiny
2000-10-12  0:00             ` Larry Kilgallen
2000-10-14  0:00             ` nickerson
2000-10-15  1:48               ` Robert Dewar
2000-10-15  0:00                 ` Jean-Pierre Rosen
2000-10-11  0:00         ` dmitry6243
2000-10-11  4:39         ` Ken Garlington
2000-10-10  0:00     ` Three simple questions John English
2000-10-10  0:00       ` Dale Stanbrough
2000-10-10  0:00         ` Larry Kilgallen
2000-10-10  0:00         ` John English
2000-10-10  0:00           ` Ted Dennison
2000-10-11  0:00             ` Tucker Taft
2000-10-11  0:00               ` Ted Dennison
2000-10-12  0:00                 ` Tucker Taft
2000-10-12  0:00                   ` The AI process (was: Three simple questions) Ted Dennison
2000-10-12  0:00                     ` Marc A. Criley
2000-10-12  0:00                       ` Tucker Taft
2000-10-16  0:00                   ` Three simple questions Robert A Duff
2000-10-11  0:11       ` wv12
2000-10-10  0:00         ` Larry Kilgallen
2000-10-14  3:25           ` Robert Dewar
2000-10-15  0:00             ` The Ludwig Family
2000-10-16  0:00               ` Florian Weimer
2000-10-17  0:00                 ` David Starner
2000-10-18  0:00                   ` Florian Weimer
2000-10-19  0:00                     ` David Starner
2000-10-21  0:00                       ` Robert Dewar
2000-10-21  0:00                         ` David Starner
2000-10-23  0:00                           ` Robert A Duff
2000-10-28 11:00                             ` Robert Dewar
2000-10-28 10:56                           ` Robert Dewar
2000-10-28 10:57                           ` Robert Dewar
2000-10-21  0:00                     ` Robert Dewar
2000-10-21  0:00                       ` David Starner
2000-10-16  3:10               ` Robert Dewar
2000-10-17  0:00                 ` The Ludwig Family
2000-10-16  0:00             ` James Hassett
2000-10-16  0:00               ` Robert Dewar
2000-10-16  0:00               ` Robert Dewar
2000-10-16  0:00             ` Robert A Duff
2000-10-11  0:00         ` David Gillon
2000-10-11  0:00         ` mjsilva
2000-10-11  0:00         ` John English
2000-10-11  0:00           ` Pascal Obry
2000-10-11  2:12         ` DuckE
2000-10-10  0:47   ` Larry Elmore
2000-10-10  1:16     ` Ed Falis
2000-10-11  3:47       ` Jeff Carter
2000-10-13  0:00         ` Philippe Torres
2000-10-13  0:00   ` Stefan Skoglund
2000-10-10  0:00 ` Pascal Obry
2000-10-11  3:59   ` Jeff Carter
2000-10-14  0:00   ` Keith Thompson
2000-10-10  0:42 ` Ken Garlington [this message]
2000-10-11  0:00 ` Simon Wright
2000-10-14  0:00   ` Robert Dewar
2000-10-11  0:00 ` Tucker Taft
2000-10-12  1:05   ` Bjarne Bäckström
2000-10-13  0:00     ` Anders Wirzenius
2000-10-13  0:00       ` Bjarne Bäckström
2000-10-16  0:00         ` Anders Wirzenius
2000-10-13  0:00       ` Wes Groleau
2000-10-14  3:28         ` Robert Dewar
2000-10-11  0:00 ` Larry Hazel
2000-10-11  0:00 ` Pat Rogers
2000-10-11  0:00 ` Marin David Condic
2000-10-13  0:00   ` Keith Thompson
2000-10-13  0:00     ` Marin David Condic
2000-10-13  0:00       ` Wes Groleau
     [not found]         ` <39EAEEEA.4F58C47C@cepsz.unizar.es>
2000-10-16  0:00           ` David Starner
2000-10-16  0:00             ` Robert A Duff
2000-10-16  0:00               ` Larry Kilgallen
2000-10-16  0:00                 ` Florian Weimer
2000-10-17  0:43                 ` Robert Dewar
2000-10-17  0:00                   ` Larry Kilgallen
2000-10-17  0:00                     ` Florian Weimer
2000-11-03  7:24                   ` E. E. Cummings (was Re: Three simple questions) Robert I. Eachus
2000-10-17  0:00               ` Three simple questions Keith Thompson
2000-10-17  0:00             ` Wes Groleau
2000-10-14  0:37       ` Ken Garlington
2000-10-14  0:00   ` Richard Kenner
2000-10-14  0:00     ` Marin David Condic
2000-10-14  0:00     ` Laurent Guerby
2000-10-16  0:00       ` Robert A Duff
2000-10-16  0:00         ` Laurent Guerby
2000-10-17  0:00           ` Ronald Cole
2000-10-17  0:00         ` Wes Groleau
replies disabled

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