• DefederateLemmyMl@feddit.nl
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      10 months ago

      This isn’t “Windows design”… this is just inherited stone age bullshit from the DOS days when the filesystem was FAT16 and all file names were uppercase 8.3.

      NTFS is case sensitive in its underlying design, but was made case insensitive by default, yet case preserving, for reasons of backwards compatibility.

      If Microsoft has to design something from scratch, without the need for backwards compatibility, they go for case sensitive themselves. For example: Azure Blob Storage has case sensitive file names.

      • redjard@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        3
        ·
        10 months ago

        If you rename a file only changing the casing it doesn’t update properly, you need to rename it to something else and back.
        This is so userfriendly I have been stumped by it multiple times.

        On the other hand in using Linux I have had a number of problems with the casing of files: The number is 0

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          3
          ·
          10 months ago

          If you rename a file only changing the casing it doesn’t update properly, you need to rename it to something else and back. This is so userfriendly I have been stumped by it multiple times.

          To my great surprise, this has been fixed. I don’t know when, but I tried it on my Windows 10 VM and it just worked. Only took them 20 years or so :)

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

        case insensitive by default, yet case preserving

        This isn’t just a Windows thing… It’s the same on MacOS by default.

    • stoy@lemmy.zip
      link
      fedilink
      arrow-up
      1
      ·
      10 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

      • Damage@feddit.it
        link
        fedilink
        arrow-up
        2
        ·
        10 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

      • MartianSands@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        10 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

        • LarmyOfLone@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          10 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
            1
            arrow-down
            2
            ·
            10 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.

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

      macOS also does this by default, but you can change it (though you have to reformat the disk in question). This is generally fine for non-system disks if you REALLY need it for some reason, but afaik it is not recommended for the OS disk due to assumptions that macOS-targeted binaries make (similar to the windows regex version matching that caused problems for a while because it became the unofficial best way to check windows versions for app install compatibility). It’s doubly annoying on newer Apple systems because the integrated SSDs are WAY faster than pretty much anything else you can connect to it. But for the most part, I find it’s more of a nuisance to keep in mind than a real problem (I’ve been dealing with dev-issue MBPs since about 2012).

      As in the windows case, this is also an appropriate choice for the average Apple user (though the fact that they’re fairly ubiquitous as dev machines in many places is annoying on several levels, despite the generally solid best-case performance and thermals I’ve observed).

      • bdonvr@thelemmy.club
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        Huh I had thought case-sensitive was default on APFS/HPFS and you had to choose insensitive specifically but I guess not

        • gravitas_deficiency@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          Just checked on my work box - if you go into Disk Utility and start the process to add a volume, the default selection is APFS, and there’s an option in the dropdown for for APFS (Case-sensitive)

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    10 months ago

    Windows and NTFS support case sensitive filenames. The functionality is disabled for compatibility reasons.

  • FQQD@lemmy.ohaa.xyz
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    It’s neat that Linux has the ability to do this, but I honestly can’t think of a good usecase for this. I think this is more confusing than it is useful

    • gramie@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      I feel the same way about programming languages. There is no way that “User” and “user” should refer to different variables. How many times has that screwed people up, especially in a weekly typed language?

      One of the many things that I feel modern versions of Pascal got right.

  • MehBlah@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    What I really like is a naming files with a forbidden windows character in Linux and they wont copy over to a windows partition. I end up using a question mark quite a bit for some reason.

      • ramble81@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        Look at a lot of postings in the “insanepeoplefacebook” community. There are a lot of “sovereign citizens” who believe that when you’re born the government makes a corporation using the all caps version of your name. And that the case sensitivity of how your name appears on bills matters as they’re distinctly different people.

  • stupidcasey@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    But why though? Do you really want a bunch of file.txt File.txt FILE.txt fIle.txt FiLe.txt FIle.txt flIe.txt… I once had a nasty bug the O in a file name was a 0 and I didn’t notice I can’t imagine the horrors this would cause.

    • inverted_deflector@startrek.website
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Yeah I’ve definitely run into issues where case sensitivity causes problems. Especially in programs that are cross-functional between Windows and Linux. Like when I recently downloaded some bios files for a Playstation emulator and I spend time figuring out and troubleshooting why they weren’t working until it finally hit me the door McFly it’s cause the file name was in lowercase not uppercase. Than I cared to admit to figure out

      • AnUnusualRelic@lemmy.world
        cake
        link
        fedilink
        arrow-up
        2
        ·
        10 months ago

        Oooh, I’ve had that with some device. I think it was a camera or something like that. I’d forgotten about it. It took me ages to figure it out.

  • pyre@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    thank god it’s not case sensitive holy shit. i don’t understand the kind of person who would see that as a positive.

    • A_Random_Idiot@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Seriously.

      It sounds like a fucking nightmare. Imagine working on something for days and it refuses to work cause you accidentally capitalized 1 file name and dont notice it?

      That sounds like the kind of shit they’d do in tech hell.

      • Eiri@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        We regularly have that problem at work. Works on your development PC on Windows. Push to pipeline, get cryptic error messages. Once we were two people trying to figure it out for half an hour.

        Case-sensitive file names. Why.

  • arthurpizza@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    I can make a file named COM1 on Linux. That’s on the forbidden list for Windows.

    The forbidden list:

    • CON
    • PRN
    • AUX
    • CLOCK$
    • NUL
    • COM1
    • COM2
    • COM3
    • COM4
    • COM5
    • COM6
    • COM7
    • COM8
    • COM9
    • LPT1
    • LPT2
    • LPT3
    • LPT4
    • LPT5
    • LPT6
    • LPT7
    • LPT8
    • LPT9
        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          2
          ·
          10 months ago

          The thing is, a lot of the legacy backwards compatible stuff that’s in Linux is because a lot of things in Unix were actually pretty well thought out from the get go, unlike many of the ugly hacks that went into MSDOS and later Windows and overstayed their welcome.

          Things like: long case sensitive file names from the beginning instead of forced uppercase 8.3 , a hierarchical filesystem instead of drive letters, “everything is a file” concept, a notion of multiple users and permissions, pre-emptive multitasking, proper virtual memory management instead of a “640k is enough” + XMS + EMS, and so on.

          • BCsven@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            It still amazes me how well thought out unix was for the era when computing was in its infancy. But I guess that is what you get with computer science nerds from Universities and a budget for development based on making a product the goal, not quarterly profit the goal.

            • superkret@feddit.org
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              10 months ago

              It’s what you get when you design an OS for a mainframe computer that is accessed by many users sharing its resources.
              DOS was designed for single-user PC’s with very limited processing power, memory and storage, and no access to networked drives. Lots of its hacks and limitations saved a few hundred bytes of memory, which was crucial at the time.

    • MudMan@fedia.io
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      Yeah, right? Are we pretending that having case sensitive file names isn’t a bad call, or…? There are literally no upsides to it. Is that the joke?

      • Lucy :3@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        For files of casual users it might be of benefit. They don’t care about capitalization. For system files, I find it pretty weird to name them with random capitalization, and it’s actually pretty annoying. Only lower- (or upper-)case would be ok tho.

        • MudMan@fedia.io
          link
          fedilink
          arrow-up
          1
          ·
          10 months ago

          Well, camel case does help readability on file names. But I guess that’s the point of case insensitive names, it doesn’t matter. However you want to call them will work.

      • RandomLegend [He/Him]@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        10 months ago

        I’m with you here, i find it infuriating and i never ever had the situation where this was beneficial.

        Like who tf actually creates a File.txt, file.txt AND FILE.TXT in one place and actually differentiates them with that.

        • dev_null@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          10 months ago

          For example I might store blobs of data processed by my database in files that have the Base64 ID of the blob as the filename. If the filesystem was case insensitive, I’d be getting collisions.

          Users probably don’t make such files, no. But 99% of files on a computer weren’t created by the user, but are part of some software, where it may matter.

          And often software originally written for Linux or macOS and then ported to Windows ends up having problems due to this.

        • MudMan@fedia.io
          link
          fedilink
          arrow-up
          0
          ·
          10 months ago

          I mean, it’s less of an issue on Linux for both design and user profile reasons, but imagine a world where somebody can send all the normie Windows users a file called Chromesetup.exe to sit alongside ChromeSetup.exe. Your grandma would never stop calling you to ask why her computer stopped working, ever.

          • poinck@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            10 months ago

            Who sends setup binaries? I would tell my grandma to install it from the repository.

  • 9point6@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    Oh it’s even better, windows explorer can’t really do case sensitive

    But NTFS is a case sensitive file system

    This occasionally manifests in mind boggling problems

    • Wolf314159@startrek.website
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Yeah, it’s super weird. I once named a file with mixed case, but one of the letters was the wrong case. Renaming the file didn’t work at first. Renaming a file named PAscalCase.txt to PascalCase.txt resulted in no change to the filename. Windows continued to show it as PAscalCase.txt. I had to rename it to something totally different with different characters entirely, then rename it again to get it right.

  • palordrolap@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    Thought experiment: Would you expect a programming language variable name to be case insensitive?

    That is, if you set foo = 1 and then print FOO, what should happen? Most programming languages throw an error.

    Is this even comparable with filenames, which are, after all, basically variable names that hold large quantities of data?

    If there is a difference, is it the fact it’s a file, or - for a mad idea - should files with only a few bytes of data retain case insensitivity? And if that idea is followed through, where’s the cutoff? 256 bytes? 7?

    (Anyway, Windows filenames are case sensitive, in a sense. If you save “Letter to Grandma.txt” it will retain those two capital letters and all the lower case letters exactly as they are. It won’t suddenly change to “LETTER to Grandma.txt”, despite the fact that if you try to open a file by that name, you’ll get the same file.)

    • wizardbeard@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      10 months ago

      PowerShell variable names and function names are not case sensitive.

      I understand the conventions of using capitalization of those names having specific meanings in regards to things like constants, but the overwhelming majority of us all use IDEs now with autocomplete.

      Personally, I prefer to use prefixes anyway to denote that info. Works better with segmenting stuff for autocomplete, and has less overhead of deriving non-explicit meaning from stuff like formatting or capitalization choices.

      On top of that, you really shouldn’t be using variables with the same name but different capitalization in the same sections of code anyway. “Did I mean to use $AGE, $Age, or $age here?” God forbid someone come through to enforce standards or something and fuck that all up.