🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: mod.std.unix
Article #389

Re: Case sensitive file names

#389
From: Moderator, John Quarterman
Date: Tue, 04 Nov 1986 19:17
59 lines
3720 bytes
From: campbell%maynard.UUCP@harvisr.harvard.edu (Larry Campbell)
Date: Tue, 4 Nov 86 10:19:11 EST
Organization: The Boston Software Works, Inc.

>From: @SUMEX-AIM.ARPA:MRC@PANDA (Mark Crispin)

>     What we are asking for is that if you try to access the ReadMe
>file by specifying "readme" or "Readme" or "README" or even "rEADmE"
>you should get the ReadMe file instead of a file not found error.
>Furthermore, if you open "readme", "Readme", etc. for write, it should
>supercede [sic] the ReadMe file and the resulting file should have the
>original case of ReadMe.
>
>     In other words, finding a file for read will match any case.
>Finding a file for write will match any case, supercede [sic] any such older
>file, and will preserve the case of that older file.  The only way to
>change the case would be with rename; the source name would be case
>independent but the destination case would be preserved.  Of course,
>you could also change the case by deleting ReadMe and then opening
>README for write...

>     There are filesystems that behave in this manner, and they are
>quite pleasant to use.  Please, if you support case-dependence, don't
>give the "mixed case filesystems" class of arguments.  The only two
>arguments you really have are (1) it is a "feature" (however dubious)
>that you can create Makefile and makefile as separate files in the
>same directory, and (2) Unix does it this way.

Sorry to keep beating this dead horse, but some people just haven't
yet caught on to one of the principle design fundamentals of UNIX.

	"Keep it small and simple."

As has already been pointed out, the system (I'm deliberately avoiding
the term "kernel") treats filenames as uninterpreted strings of bytes.
Adding case folding to the system adds complexity to the system that
provides only a tiny benefit (is it really that hard to type the correct
filename?).

I think everyone agrees that creating "Makefile" and "makefile" in the
same directory is braindamaged.  What I disagree with is the notion
that the system should be in the business of preventing this.  Should
the C compiler enforce a certain Hamming distance between identifiers?

Note also that case folding is only "simple" in some languages.  As has
already been pointed out, there are languages (like German) where case
folding is decidedly complex.  And in an international environment, the
case folding algorithm may need to be different for each user.

I wish I could remember who said this, but someone once pointed out
that "One of the reasons Dennis Ritchie is a genius is that whenever
someone says `Wouldn't it be nice if UNIX had feature X?', instead
of saying `Wow, yeah, I'll go hack that in', he says, `Yep, sure would.'"
-- 
Larry Campbell       MCI: LCAMPBELL          The Boston Software Works, Inc.
UUCP: {alliant,wjh12}!maynard!campbell      120 Fulton Street, Boston MA 02109
ARPA: campbell%maynard.uucp@harvisr.harvard.edu     (617) 367-6846

Volume-Number: Volume 8, Number 35
Technical Details
Message-ID: <6229@ut-sally.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!rutgers!im4u!ut-sally!std-unix
References: <6210@ut-sally.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!rutgers!im4u!ut-sally!std-unix
From: std-unix@ut-sally.UUCP (Moderator, John Quarterman)
Newsgroups: mod.std.unix
Subject: Re: Case sensitive file names
Message-ID: <6229@ut-sally.UUCP>
Date: Tue, 4-Nov-86 14:17:34 EST
Article-I.D.: ut-sally.6229
Posted: Tue Nov  4 14:17:34 1986
Date-Received: Wed, 5-Nov-86 06:30:23 EST
References: <6210@ut-sally.UUCP>
Organization: IEEE P1003 Portable Operating System for Computer Environments Committee
Lines: 59
Keywords: horse dead UNIX dmr small simple
Approved: jsq@sally.utexas.edu
Summary: UNIX (dmr) philosophy -- and beating a dead horse