Case sensitive file names

Moderator, John Quarterman std-unix at ut-sally.UUCP
Wed Oct 15 02:28:12 AEST 1986


From: mcvax!axis!philip (Philip Peake)
Organization: Axis Digital, 135 rue d'Aguesseau, Boulogne, 92100, FRANCE

>OK, here's a new topic.  File names.
>
>UNIX is the only major operating system
>that treats things like file names, logins, host names, and commands
>as case sensitive.  The net effect of this is that users get
>confused, since they have to get the capitalization right every time.

This is mainly because such users move from restrictive environments
where they are forced to use a single case. if you look at the problems
of *NEW* users - those not having been crippled by having already worked
in a single case environment, the natural method of working is in
two cases. I have never found anyone incapable of understanding that
upper and lowwer case letters are different.

>To avoid confusion, everybody always just uses lower case.

Maybe you do, but, there are many people who don't.

>there are few, if any, benefits from a two-case system, and any time
>anyone tries to do something that isn't pure lower case, it causes
>confusion for somebody and often breaks some program.

This is mainly bad software engineering. Taken to its logical conclusion
one could say that letting users get at programs often breaks them
(the programs that it, (usually)) so let's ban users.

>Another problem is that emulations on other operating systems,
>such as VMS or MS DOS, will become impossible without drastic
>changes to their file systems.  Given the problems in the above
>paragraph, plus politics as usual, I think it is unlikely that
>other systems will be changed to have case sensitive file systems.
>After all, it's not like it was easiest to make the VMS filesystem
>case insensitive - that took extra effort on their part.

It seems to me that this extra effort was needed to circumvent the
extra effort needed in making their system work correctly with
all the legal ascii characters - it was designed by a team of
people who had been mentaly crippled by using such a one-case
system.

>I think it's a mistake to move in the direction of requiring other
>operating systems to become case sensitive.  If anything, motion in
>the other direction might be of more benefit.

This seems like a retrograde step.

>Note: I am NOT suggesting that UNIX should have a case insensitive
>filesystem that maps everything to UPPER CASE like MS DOS.  There is
>nothing wrong with mapping everything to lower case, for example.
>It's also reasonable to leave the case alone, but ignore case in
>comparisons.  There is also probably a good argument for keeping
>it case sensitive (after all, there are probably 5 or 6 people out
>there who really need both makefile and Makefile, or both mail and
>Mail, for some reason that escapes me at the moment.)

Here we have a typing error, I think that you really meant 5*10^4 or
6*10^4, didn't you Mark ?

This seems to be a logical extention to the ridiculous proposal
for command names and options which came from Bell Labs. some time
ago - all lower case, single letter options etc.

If you want to use upper and lowwer case for login names, it is a simple
matter to re-write login to be case insensitive.

If you want the same for file name handling in the shell, again it is
fairly simple to add a test for some environment variable, which
would force upper-lower case equivalence. Exactly what happens then
if you have both Makefile and makefile (which is another case of bad
software enginering - that make accepts both) you get both files,
or maybe an error. That's your problem, but I want to keep the ability
to use both cases.

In a more general case, are you suggesting that UNIX is going to be
forever tied to ASCII - what about internationalisation issues - how
do you handle non-english alphabets where case may be CRITICALLY
important.

I would propose that the current scheme is a good one - allow file names
to be composed of any characters in the base character set.

Philip Peake

Volume-Number: Volume 7, Number 56



More information about the Mod.std.unix mailing list