• stoy@lemmy.zip
    link
    fedilink
    arrow-up
    83
    ·
    2 months ago

    I don’t really see the benefit of allowing users to create files with the same name in the same directory, yeah, yeah I know that case sensitivity means that it isn’t same name, but imagine talking to a user, guiding them to open the file /tmp/doc/File and they open /tmp/doc/file instead

    • MartianSands@sh.itjust.works
      link
      fedilink
      arrow-up
      37
      ·
      2 months ago

      The reason, I suspect, is fundamentally because there’s no relationship between the uppercase and lowercase characters unless someone goes out of their way to create it. That requires that the filesystem contain knowledge of the alphabet, which might work if all you wanted was to handle ASCII in American English, but isn’t good for a system which needs to support the whole world.

      In fact, the UNIX filesystem isn’t ASCII. It’s also not unicode. UNIX uses arbitrary byte strings, with special significance given to a very small number of bytes (just ‘/’ and ‘\0’, I think). That means people are free to label files in whatever way they like, and their terminals or other applications are free to render them in whatever way seems appropriate, without the filesystem having to understand unicode.

      Adding case insensitivity would therefore actually be significant and unnecessary complexity to add to the filesystem drivers, and we’d probably take a big step backwards in support for other languages

      • stoy@lemmy.zip
        link
        fedilink
        arrow-up
        17
        ·
        2 months ago

        Oh, I realize why it is, I just don’t see it as an advantage, the whole argument is just a technical one, not a usabillity one.

      • LarmyOfLone@lemm.ee
        link
        fedilink
        arrow-up
        7
        ·
        2 months ago

        You’re basically arguing that a system shouldn’t support user friendly things because that would add significant burden to the programmer.

        The quintessential linux philosophy. Well done! I mean, what is language? Why have named code variables? This is just a random array of bytes!

        • MartianSands@sh.itjust.works
          link
          fedilink
          arrow-up
          3
          ·
          2 months ago

          No, I’m arguing that the extra complexity is something to avoid because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

          Especially when you consider that the behaviour we have was established way before there even was a unicode standard which could have been applied, and when the alternative you want isn’t unambiguously better than what it does now.

          “What is language” is a far more insightful question than you clearly intended, because our collective best answer to that question right now is the unicode standard, and even that’s not perfect. Making the very core of the filesystem have to deal with that is a can of worms which a competent engineer wouldn’t open without very good reason, and at best I’m seeing a weak and subjective reason here.

          • LarmyOfLone@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            2 months ago

            Well you’re just asking an economic question, are the costs worth the benefits?

            I’d argue that linux will never be a good or user friendly operating system without case insensitive filenames.

            That isn’t an opinion but could be verified through scientific study of how confused people act. You don’t even need computers, just ask someone to get the “something SomeTHing” from a labeled box in a cupboard. Presumably science would show that case insensitive naming of things is always less confusing when humans actually use the system.

            The truth is that programmers enjoy writing code far more than reading code. And especially to open source developers “usability” is a dirty word. It’s not about the value of a thing, it’s about the beauty of how it is done.

          • dan@upvote.au
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            2 months ago

            because it creates new attack surfaces, new opportunities for bugs, and is very unlikely to accurately deal with all of the edge cases.

            Unicode case folding has been a solved problem for a long time. The Unicode standard has rules for which characters should be considered identical, and many libraries exist to handle it (you wouldn’t ever code this yourself).

    • Damage@feddit.it
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      Let’s say you have a software that generates randomly named files, having the ability to use both upper case and lower case means you can have more files with the same amount of characters, but that sounds horrible and it’s the only thing I can think of atm

    • Jakeroxs@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 months ago

      Idiot user! ;)

      In case it’s not obvious, I agree that I don’t see much of a point in case sensitivity in an OS outside of simply providing additional options for various uses, it absolutely would be confusing for end users having to interact with it in many ways.