Case sensitive file names

Moderator, John Quarterman std-unix at ut-sally.UUCP
Fri Oct 17 01:47:50 AEST 1986


[ *sigh*  Below you will find two examples of proof by emotion,
one for case sensitivity, one for case insensitivity.  Now that
we have one on each side together like this, how about let's
either use facts and arguments or go on to another subject?

Below the second example there is a somewhat new point, marked
by another interjection from the moderator.  -mod ]

From: seismo!mcvax!gec-mi-at.co.uk!adam
Date: Thu, 16 Oct 86 09:29:20 -0100
Organization: Marconi Instruments Ltd., St. Albans, Herts, UK

>I would like to add a loud "Bravo!" to Mark Horton's message!  The present
>case sensitivity of the Unix filesystem is a real drag....

No NO nO NO nO No no! Case sensitivity is a bonus. If you can't handle it,
it's your problem. I've worked with both case-sensitive, -preserving and
-insensitive systems, and I prefer them in that order.

       -Adam.

From: pyramid!lll-crg!nike!ucbcad!ucbvax!excelan!donp (Don Provan)
Date: Wed, 15 Oct 86 09:58:48 pdt

This is a good example of why people coming from other operating
systems so often dislike UNIX.  Two people pointed out what is
clearly a bug in UNIX which particularly upsets them.  Many people
responded that it was a feature.  Hrumph!

[ Below is the new point.  -mod ]

If you're so concerned about correctly handling of foreign languages,
why don't you start by handling English correctly?  In English,
"Make" and "make" are considered identical.  Capitalization rarely
has an effect on meaning.  Yet in UNIX, "Makefile" and "makefile" are
two different files with different "meanings".  Where are your *NEW*
users that are going to understand this sudden departure from a rule
of their native tongue?

[ The point is wrong.  Capitalization is significant in English:
internet and Internet do not have the same meaning, nor do john and
John (for readers outside the States, perhaps I should point out that
john with no capital refers to a toilet).  The distinction applies
not only to proper names but also in Emphasis and in syntax at the
beginning of sentences.  -mod ]

I am not sufficiently versed in foreign languages to understand the
issues concerning capitalization there.  It sounds like in some cases
the rules of what letters are equivalent (such as "A" and "a" in
English) might require tailoring.  If you're going to support foreign
languages in a meaningful way, i assume you're going to make lots of
other modifications, too.  For example, "Makefile" would need to have
a different name, right?  (I suppose the UNIX utilities themselves
already have names far enough removed from English so that they're no
problem.  What *does* "ls" stand for, anyway?)

[ As a moderately good reader of French and Spanish, I believe I can
state that the same sort of capitalization conventions exist in them as
in English, but with different details as to when capitalizaition is
appropriate.  The lexical details also differ:  the capital of ll (a single
letter in Spanish) is usually Ll, except when it's LL; in French, whether
an e with an acute accent still has an accent in its capital E form
depends on whether you're in France, Belgium, Quebec, Louisiana, etc.

I understand Greek is an interesting language:  there are several kinds
of lower case forms of some letters, to be used in different places in
a word (beginning, middle, end).  Similar distinctions exist in Arabic.

And, as several people have pointed out, case isn't meaningful in
Chinese, Korean, or Japanese kanji.  Also, the number of bytes used to
encode a character changes with the language, and multiple languages
should be supportable on the same system (in Japan, they commonly use
English, Japanese in romanji, and Japanese in Kanji; in Scandinavian
countries I suspect they have a lot of English interspersed with the
national language in technical literature).

In most European countries, UNIX command names are used unchanged,
and Makefile does not in fact have a different name.  Would some
Europeans care to comment?
-mod ]

Having done a lot of case insensitive work, i've always felt that the
UNIX case sensitivity was from laziness.  If i were to be charitable,
i might go so far as to call it a shortcut.

[ See Doug Gwyn's previous article for a good explanation of why file
names are case sensitive (or, rather, byte streams uninterpreted by the
kernel) in UNIX (see Barry Shein's article for a good explanation of why
some other systems are case insensitive).  In places where there was a
reason for case insensitivity (e.g., to match mail standards), it has
been done.  -mod ]

  But it's ridiculous to
say it makes more sense or it makes UNIX easier for new users or it
allows UNIX to support foreign languages.

[ "Ridiculous" is not an argument.  -mod ]

						don provan

Volume-Number: Volume 7, Number 62



More information about the Mod.std.unix mailing list