3 ms·
> But it's very hard to explain to your mother that MyFile.docx is a different file to Myfile.docx Why? Human languages are also case-sensitive (e.g. 'moon' an
by zajio1am 6y ago
> But it's very hard to explain to your mother that MyFile.docx is a different file to Myfile.docx
Why? Human languages are also case-sensitive (e.g. 'moon' and 'Moon' have different meanings).
Nowadays, casual users rarely enter filenames by name, and for output, case-insensitive filesystems are still case-preserving (and users expect that).
> Losing the ability to have two differently-cased filenames in the same directory doesn't seem like a great loss.
It is not really about this ability, it is about plenty of direct implementation and usability issues that it causes, like:
- it makes everything encoding-dependend (which complicates e.g. handling of mixed encoding filenames and filenames with invalid utf-8 sequences)
- interoperability with case-sensitive systems (unpacking archive containing files differing in case)
- backward compatibility (new unicode version adds new characters and their case mapping)
Considering that case-sensitivity is not the only such issue (there is also different unicode normalizations and homographs) it seems to me that it make sense to have FS code and low-level utils encoding-independent (and therefore case-insensitive) and do case sensitivity (and perhaps. homograph handling) only in high level user code.
- IanCal 6y ago> Why? Human languages are also case-sensitive (e.g. 'moon' and 'Moon' have different meanings). You'd know I meant the same thing if I wrote "go to the moon" or "go to the Moon". If you wrote "Hi ian" and I replied "There's nobody here by that name, can't imagine who you might mean" you'd think I was being obtuse.
- adeelk93 6y agoHumans by default make assumptions to error-correct. Computers don’t do that by default, but you could get bash (for example) to also make assumptions with a setting like: set completion-ignore-case On Personally, I’d prefer an obtuse computer over one that makes assumptions and is occasionally wrong.
- IanCal 6y ago> Computers don’t do that by default Absolutely, but it's where I find people get tripped up who aren't as used to tech. The thing I have told the computer to do is technically wrong in a minor way but it's extremely obvious to anyone that looks at it what I want. There are multiple reasons why we usually want this to be the case (simpler to implement, cost of returning an error is low but the cost of automatically doing the wrong thing can be huge, etc). The rules aren't universal either. Some machines are fine with different casing, some aren't. Email addresses aren't case sensitive, typically, but my user name might be. Email addresses have to be exact, except with gmail where . isn't important, and anything after + is ignored. Google search from the omnibox will assume what it thinks you wanted to search for by default but urls entered in the same place are extremely picky.