7 ms·
> it’s the place where case sensitivity problems really show up Who made the decision to have case insensitive file systems? If I had a time machine they would
by hyperion2010 11y ago
> it’s the place where case sensitivity problems really show up
Who made the decision to have case insensitive file systems? If I had a time machine they would be high on the list of people to visit and give a stern talking to.
- TillE 11y agoPeople always bring up the point that it's supposed to be more user-friendly, but all of those concerns are really better addressed in the UI rather than in the filesystem layer.
- toxicFork 11y agoI guess back then things were just more connected, there probably weren't great "best practices", I have seen how there are still some projects that need evolve to be more modular rather than "one file to do EVERYTHING". The OS is just another software project, isn't it?
- zem 11y agowhat is the ui layer going to do when you have both hello.txt and HELLO.TXT? if case-insensitivity is to be done at all, it has to be enforced at the file system level that the two names refer to the same file.
- reitzensteinm 11y agoI don't think the problem is having case insensitive file systems, the problem is having both on different platforms. A similar problem as with different endians. If everything were case insensitive, it wouldn't cause issues. While as a programmer, I prefer the level of precision case sensitivity provides, I'm hard pressed to make the case that it is better for an average computer user.
- ploxiln 11y ago... which exact type of case insensitivity would you do? Only for latin letters in ascii? or such letters plus just one accent type? or also less familiar symbols used in other writing systems? Did you know that different languages can contradict one another? [1] Are you also going to normalize unicode representation, like Mac OS X does? (it uses a variant of NFD normalization, which is arguably the wrong one to do but that's life) (I only know this because I've been tripped up by it) Basically, you can't "just do case insensitive everywhere", that doesn't fix the confusion and inconsistency. [1] http://www.i18nguy.com/unicode/turkish-i18n.html http://www.i18nguy.com/unicode/turkish-i18n.html (see table titled "English vs. Turkish Case Mappings") (this is just the first example I could find with a quick search)
- reitzensteinm 11y agoPoint taken; I made the mistake of writing a prescription for the world based on my narrow English speaking world view. I stand by what I said for ASCII, but in a Unicode world, I think you're right. When the mapping stops being simple, the principle of least surprise reverses in the favor of case sensitivity.
- hyperion2010 11y agoCase insensitivity is a nice way of phrasing "there are these arbitrary mappings between two sets of character codes which are meaningful only to the human being looking at the screen." This only works for ASCII and is complete madness as soon as you consider that any symbol you support for input anywhere in the world can and probably will be used by someone to name their files (try explaining why they can't to an irate user). Really, of the hundreds of thousands of unique symbols that human beings use an arbitrary subset of 26 of them have been deemed to be identical when it comes to naming things with symbols. I would say more but it would come out even worse.
- ygra 11y agoThey don't only work for ASCII. While the majority of writing systems in this world do not have case distinction, some that are widely used do. And arguably it is easier for the user to understand. The people who do trip over it are mostly programmers with the wrong assumptions about how things work and then complaining that things can't ever be simple ...
- natosha_bard 11y ago> I don't think the problem is having case insensitive file systems, the problem is having both on different platforms. A similar problem as with different endians. If everything were case insensitive, it wouldn't cause issues. Indeed; if everything were case-sensitive, or case-insensitive, we definitely wouldn't have these problems. But alas, it's not, and in 2015 here we are still having problems with case sensitivity. :-P > While as a programmer, I prefer the level of precision case sensitivity provides, I'm hard pressed to make the case that it is better for an average computer user. I also personally prefer it ('a' and 'A' are not the same character!!!!), but I'm not sure if thats because it's inherently 'right' or because I'm used to Linux where case sensitivity is more or less a given. :-)
- hga 11y agoIf I had a time machine they would be high on the list of people to visit and give a stern talking to. Problem is that this goes back a long ways, e.g. back to the days of 36 bit computers. Why 36 bits? Because that was just enough to encode 10 decimal digits, the standard back then for scientific computation. Back then as in the days before core memory was used, so not much main memory either, and it was still expensive and painful after core was developed. So with that limited a budget, 6 bit character systems were common, that's enough to get things done and you can fit 6 in a word. One reason mainline Lisp doesn't use '?' in function names, why old languages like it and FORTRAN are or were case insensitive.
- hyperion2010 11y agoI think the issue is related, but in the underlying problem is slightly different because in the cases you describe there wasn't even enough room for a second set of symbols, so in reality there was no problem. The issue arises when there is a second set of symbols that can be encoded by the computer.
- Retra 11y agoThat crap is so frustrating. Especially since you can't fix it easily when working between multiple file systems. mv: ‘test’ and ‘Test’ are the same file Thanks, mv. Brilliant.
- lucb1e 11y agoYou mean in cygwin or on ntfs or so? Because on GNU/Linux with ext4 this works: /tmp $ touch test /tmp $ mv test Test
- seba_dos1 11y agoGrandparent obviously meant case insensitive filesystems.
- ygra 11y agoAt least NTFS is case-insensitive and case-preserving and renaming with just a case change usually works.