Should "B" be the Same as "b"?
joshua42 asks: "Although having used Linux and FreeBSD for many years, I have yet to come
across anyone seriously questioning the traditional UNIX style file system name paradigm. With an Amiga background (It should be the same for people growing up with Windows, or those growing up with no computer at all (God forbid!).) it took me quite a while to get used to 'A' and 'a' being treated as different characters. This is of course fairly easy to accept and to understand if you have a technical background. I do however
have a hard time to see how aunt Ginny will ever be able to distinguish between her 'Letter.txt', 'LETTER.TXT' and 'letter.txt' files. In real life, upper and lower case letters represents almost identical information to most people. Has any thoughts been spent on this issue, now that our
favorite OS is becoming increasingly mainstream? Does it need to be
addressed? Have any attempts been done? What are the implications to parts outside the file systems?" This is an interesting point. As Unix grows more and more popular, the simple things we've taken for granted about the filesystem may stand in the way of general users adopting it. What ways can you think of that will mitigate this problem for new Linux users without actually affecting too much? Special shells for novice users, that can simplify much of the complexity may be the way to go, here.
This is a flamebait topic.
Why don't we ask: "Should the convention for tapping threads in metal be switched to left hand threads by default?"
Nothing will change as a result of the discussion, and nothing should change. It's the 'simplify UNIX and destroy it in the process' arguement all over again.
Good grief.
What is confusing is that "A" and "a" don't sort next to each other -- so, letter.txt doesn't end up following Letter.txt, but instead is down somewhere past Zebra.jpg. That defies reason; if something is to be fixed, let it be that.
Subscribers can see articles in the future? So what? Everyone gets to see them in the future.
What are the odds that your Aunt Ginny or any equally technically inept person is actually using *nix for something so mundane as typing a letter. She is almost certainly using some Flavor of Windows, or perhaps a Mac. OS X is already case insensitive, and lets face it, Aunt Ginny is never going to open a term window anyway. As long as she can point and click she can find and open her letter regardless of how its named. In the really unlikely event that she is in fact using *nix do you really think she's using vi to send those letters home? or is it more likely she is using KDE or Gnome as a windows substitute and is still quite fine as long as her mouse finger holds out? I'd say this is really a non issue. .
If privacy had a tombstone it would read "We did it for your own good" . -- John Twelve Hawks
Novice users will always use file selection dialogues and icon-based file managers. Thus the only time they type a filename is at initial creation. Beyond that it does not matter. If they are going into a shell, they are not novice users anymore (I doubt you will see aunt Ginny do this)
"I don't know that atheists should be considered citizens, nor should they be considered patriots." George HW Bush
OS X remebers case, but ignores it. This way your
file is named just the way you typed it, caps and
all, but if you reference it with different
capitilazation, it still matches. If you try to make
a second file with the same letters but different
capitalization, it won't let you. The best of both
worlds. No multiple files with the same name, yet
case is preserved for looks and correct grammar.
The only reason why Unix is case sensitive is because it was easier, and faster to implement it as such in the early days.
It is not quite efficient to Preserve Case, and not make it case-sensitive.
I used a file system like this (HPFS) for many years and much prefer it over the case-sensitive alternatives.
It is also a security concern. If I have 2 files, which are identical except for case it is possible I could run the wrong one. Why? Point and Click interfaces barely show a difference between o and O, etc.
There is also no need for 2 files with the same name, and different case when it comes to SOURCE CODE. I have seen more than 1 program implemented like this and it is downright confusing and stupid. " No no, not "ubergeek.c", "Ubergeek.c"... etc.
Garbage. Crap. Total waste of resources.
I've been working in a database language that is case-insensitive for a number of years as well. It is damn nice to not have to worry about somebody typing something in differently than expected. It isn't a problem. And I don't have to call UPPER every time I do something!
case-sensitive is a pain in the ass.
Back to the main topic, I agree with Apple's position on this. I used to wonder why they would put in such a ridiculous limitation when it would be so easy to "fix," but then I thought about it. There is absolutely no reason to have files named "readme.txt" and "Readme.txt" in the same directory. If they are truly different files, then name them differently - ie, "ReadmeFirst.txt" and "ReadmeLast.txt." Capitalization is mostly arbitrary and conveys no information in this context. It can only lead to confusion when a human has to interact with such files. Sort of like George Foreman's house, where his kids are named george, GEORGE, GeorgE, georgE, GeOrGe, etc. What a mess!
If you're still not convinced, think of all the chaos and confusion that would happen if domain names were case sensitive.
Say hello to zMac.
It's not like your aunt is going to use Emacs - she'll just point and click with whatever graphical software she is using.
Leave case sensitivity alone - it's the right thing to do, just hide any ease-of-use problems it may introduce with a GUI.
That keeps the smart people happy, and the dumb people happy. We're all happy!
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
As Donald Norman has commented, if lots of people use something incorrectly there is probably a problem with the design, not the people. I will admit to having on more than one occassion typed "less readme" instead of "less README" or scrolled through a file listing and overlooked a file that was sorted elsewhere due to capitalization.
Even worse is the fact that subparts of an item follow different rules. For example:
http://slashdot.org/index.html == http://SlashDot.ORG/index.html
due to required case-insensitivity of domains,
http://slashdot.org/index.html != http://slashdot.org/Index.html
unless the underlying OS/web/app-server chooses to interpret them as equivalent.
As some have commented, everyone sees a difference between joe doe, Joe Doe, JOE DOE and jOe doE but they all know that in every case we are referring to the same person. In fact many places standardize on all-caps for the family name in forms and documents to reduce errors.
To those who say that the problem should be solved on the application level: consistency is good - a user should not have to remember the quirks of each application. Even if one is a slave to point-and-click GUIs there are problems created by sorting and the possibility of multiple files with the "same" name.
Windoze is also brain dead. Although it is case insensitive, it also changes the case of file names in one of its many misguided attempts to "help" the user.
My preference would be to have the OS keep the filename in whatever form of caps/lowercase that I choose but to treat files in a case-insensitive manner.
~~~~~~~
"You are not remembered for doing what is expected of you." - Atul Chitnis
There are often situations where the case is important
in order to better identify a file.
Example:
A file regarding a person named Bart may be called 'Bart.txt'.
A file regarding the Bay Area Rapid Transit system may be called
'BART.txt'.
Just by looking at the file names, one can have a good idea about
their contents. The names are short, direct, and clear.
"You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
Wow. Nearly every reply in this thread is an example of how techies are not like normal people -- and yet don't realize it. Despite your wishes, the non-techie world is not going to accept that "Letter.txt" and "LETTER.TXT" don't refer to the same file. If I received a check made out to "WALLY HARTSHORN", would you say that I cannot cash that check because my name is "Wally Hartshorn"? Would you say that "Ford" is a different company than "FORD"?
Like the original poster, I am a former Amiga user, so I am quite familiar with the experience of a file system that allows mixed-case filenames, but recognizes that they are equivalent. It was far, Far, FAR nice than having to remember whether I named the file "Letter.txt", "LETTER.txt", "LETTER.TXT", or "letter.txt". Like nearly everyone else, I remember words much more readily than I do specific capitalizations.
People are not very sensitive at all to upper/lowercase letters.
lEt ME asK yOu OnE thiNG jOUNI, arE yOu aBSoLuTElY SURe abOuT thAt?
I know for sure that I am sensitive about it, and it really gets on my nerves when they're not used properly. Of course, people are different, but most [non 1337 script kiddies] people do care...
May we live long and die out