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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a50a3c40267219cc X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-16 04:42:35 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: dewar@gnat.com (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: Modern languages are case sensitive? Date: 16 Oct 2001 04:42:34 -0700 Organization: http://groups.google.com/ Message-ID: <5ee5b646.0110160342.23b9481c@posting.google.com> References: <3105e154.0110150021.32ff5426@posting.google.com> <9qeg5r$266$1@trog.dera.gov.uk> <3BCB2E0B.5D7894CD@boeing.com> NNTP-Posting-Host: 205.232.38.14 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1003232554 3249 127.0.0.1 (16 Oct 2001 11:42:34 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 16 Oct 2001 11:42:34 GMT Xref: archiver1.google.com comp.lang.ada:14655 Date: 2001-10-16T11:42:34+00:00 List-Id: My own feeling on this issue is that a) the following program is quite awful, and should obviously not be permitted in any language: Main : integer; main : integer; ... b) The following program is undesirable, and preferably should not be permitted: Main : integer; ... main := 2; It cannot possibly be helpful for the reader to use random casing like this. This is the semantics implemented by gnat -y and thus the language we use for writing GNAT (i.e. in the GNAT sources it is a fatal error to use the wrong casing for something) Whether I would go as far as changing the language to require case consistency, I don't know. By the way, if I was writing a C compiler, I would include a warning if two identifiers differed only in case, so that the same desirable semantics is achieved. And I can't help but get a chuckle out of someone thinking of Unix as a "modern operating system". Indeed if you do look at modern operating systems (e.g. Windows XP, or OS/2), they are case insensitive. The case sensitive decision of C and Unix was in my opinion never well justified or thought out, and now it just gets copied. Old technological decisions get reinforced over and over again by compatibility and familiarity considerations regardless of their merit (*) Robert Dewar (*) e.g. the gauge use by Amtrak is related to the separation of wheels on Roman war chariots :-)