case sensitive names
std-unix at ut-sally.UUCP
std-unix at ut-sally.UUCP
Sat Oct 18 07:03:20 AEST 1986
From: bzs at bu-cs.bu.edu (Barry Shein)
Date: Sun, 12 Oct 86 14:02:11 EDT
Other operating systems use case insensitivity in their file names, why?
As I remember it is a holdover of older encoding conventions
intended to save disk space. PDP-10s used SIXBIT, RT11 and
others used RAD50, in the real old days people used 026's and
ttys, all of these had only one case for A..Z. I don't think
it was a human factor, it was an economy of a different age.
Systems like VMS and CMS continue this due to their heritage.
At least make user names monocase.
Is the convention that upper-case user names imply an
upper-case only terminal being discarded? If not, what
is the new convention? What else should we redesign?
At least make file names monocase (a)
Please list all software this would affect, besides Make.
How many mktemp() calls make use of case? Lock files?
Are you *sure* none of these would be affected adversely?
...it would make emulators easier (b)
As has been noted EUNICE doesn't seem to have too much
trouble with exactly this. Any comments/requests from
EUNICE developers? HCR? Why are we protecting them if they
don't ask for this? My guess is they wouldn't consider it
critical and would cause them as many problems as it would
solve (they would have to now go and "fix" their software also.)
At least make flags monocase.
Please list all current flags which rely upon case sensitivity
and what you would replace them with. Worse, we have lost the
thread of this proposal. Is the case fixed in filenames when the
kernel interprets them? By the shell? Does the shell now have
knowledge about what is a flag? If not, how *do* I pass a data
string (such as sed s/foo/goo) in mixed-case where needed? This
is often a can of worms in other os's (eg. VMS/DCL) and not what
I would call an improvement. It might require detailed syntactic
and semantic knowledge of command formats by the shell(s) as most
of these monocase systems have (DCL, EXEC etc.) At best it would
require various new or further overloaded quoting conventions
(we now have quote, double quote, backslash, ^V and backquote!)
It would be more ergonomic.
Why is having less obviously easier? I thought the freedom
UNIX gives in creating things like file names to suit whims
to be a plus. Should we adopt NAME.EXT conventions? Why not?
Doesn't the structure imposed by .EXT make things "easier" in
the same sense? What about very long file names? Is this also
a "pain"? Why have so many of the proponents argued about how
all this would make it easier ON THE PROGRAMMER? (eg. emulator
writers, argv interpreters) Is this the person the system's
interface should be optimized for? What about text processors
(I mean people)? Do they use the filing system in full case
or not? Do we care? I just scanned through our dept secty's
directories (she is a very naive user, she started here with
UNIX this summer, it also includes a subdir which is the entire
tree of her predecessor who was a fairly sophisticated UNIX user.)
It is full of mixed case filenames, most for the obvious reasons
(PhoneBill, LICENSES (probably to force sorting to the beginning),
etc.)
Would you please peruse *your* user's directories and report back?
Where does it stop?
What about things like 'r' and 'R' in mail(x)? You may know
the difference between a shell and an application program,
but do your users have it as clear or will they see these
things as gross inconsistencies if not brought into line?
What about editors ('q' vs 'Q') and other fundamental software?
Who enforces this (the application or the tty driver)?
The proposal to remove case sensitivity does not analyze the impact on
the software and the amount of change needed to accomodate this new
feature. I claim it is ubiquitous, worse, the proposal is ill-defined
as to exactly where in the software hierarchy this case insensitivity
is to be implemented. The proposal is pie-in-the-sky and unworkable,
worse, it is regressive (eg. it actually strives to emulate systems
designed to be compatible where now outmoded hardware and economies
were driving forces.)
Take your UNIX system, change everything to lower case. Add the following
line to your .login or .profile:
stty lcase
report back to us if you still think this is a good idea.
-Barry Shein, Boston University
Volume-Number: Volume 7, Number 60
More information about the Mod.std.unix
mailing list