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 08:11:51 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.25.134.62!newsfeed00.sul.t-online.de!t-online.de!news-lei1.dfn.de!news-nue1.dfn.de!news-han1.dfn.de!news.fh-hannover.de!news.cid.net!news.enyo.de!news1.enyo.de!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada Subject: Re: Modern languages are case sensitive? Date: Tue, 16 Oct 2001 17:18:10 +0200 Organization: Enyo's not your organization Message-ID: <87g08jobpp.fsf@deneb.enyo.de> References: <3105e154.0110150021.32ff5426@posting.google.com> <9qeg5r$266$1@trog.dera.gov.uk> <3BCB2E0B.5D7894CD@boeing.com> <5ee5b646.0110160342.23b9481c@posting.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Xref: archiver1.google.com comp.lang.ada:14688 Date: 2001-10-16T17:18:10+02:00 List-Id: dewar@gnat.com (Robert Dewar) writes: > a) the following program is quite awful, and should > obviously not be permitted in any language: > > Main : integer; > main : integer; > ... In C#, you can have int main; int main; int int; intother; Of course, this is only the visual presentation. ;-) The actual representation uses alternative representations of ASCII characters (LATIN SMALL LETTER DOTLESS I followed by COMBINING DOT ABOVE) and a ZERO WIDTH SPACE. Clearly, Unicode is not suitable for identifiers. There are five different ways to represent a symbol which looks like a capital H! > 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. Some case-sensitive OO languages (for example, Python) have quite a useful idiom: capitalized identifiers refer to classes, all-lowercase ones to temporary objects of the corresponding class. > 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. AFAIK NTFS *is* case sensitive. It's the Win32 subsystem which presents a case-insensitive view of the file system. Using other subsystems, you can create names which only differ in case. (Consumer versions of Windows were not even case-preserving, which I consider a bug.)