this post was submitted on 06 Sep 2024
614 points (90.4% liked)

linuxmemes

21197 readers
113 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 11 points 2 months ago (3 children)

    I don’t think there’s a need for File.txt and fILE.txt

    It's not so much about that need. It's about it being programmatically correct. f and F are not the same ASCII or UTF-8 character, so why would a file system treat them the same?

    Having a direct char type to filename mapping, without unnecessary hocus pocus in between, is the simple and elegant solution.

    [–] [email protected] 8 points 2 months ago (1 children)

    It turns out that the easiest thing to program isn't always the best application design.

    [–] [email protected] 1 points 2 months ago* (last edited 2 months ago) (1 children)

    I would argue that elegance and being easy to program are virtues by themselves, because it makes code easy to understand and easy to maintain.

    A one-to-one string to filename mapping is straightforward and elegant. It's easy to understand ("a filename is a unique string of characters"), it makes file name comparisons easy (a bit level compare suffices) and as long as you consistently use the case that you intend, it doesn't behave unexpectedly. It really is the way of the least surprise.

    After all, case often does have meaning, so why shouldn't it be treated as a meaningful part of a filename? For example: "French fries.jpg" could contain a picture of fries specifically made in France, whereas "french fries.jpg" could contain a picture of fries made anywhere. Or "November rain.mp3" could be the sound of rain falling in the month of November, whereas "November Rain.mp3" is a Guns N' Roses song. All silly examples of course, but they're merely to demonstrate that capitalization does have meaning, and so we should be able to express that canonically in filenames as well.

    [–] [email protected] 0 points 2 months ago

    It's not elegant when it causes more problems than it solves.

    [–] [email protected] 0 points 2 months ago (1 children)

    That's some suckless level cope. What's correct is the way that creates the least friction for the end users. Who really cares about some programming purity aspect?

    [–] [email protected] 1 points 2 months ago* (last edited 2 months ago)

    That’s some suckless level cope

    Thanks, really constructive way of arguing your point...

    Who really cares about some programming purity aspect?

    People who create operating systems and file systems, or programs that interface with those should, because behind every computing aspect is still a physical reality of how that data is structured and stored.

    What’s correct is the way that creates the least friction for the end users

    Treating different characters as different characters is objectively the most correct and predictable way. Case has meaning, both in natural language as well as in almost anything computer related, so users should be allowed to express case canonically in filenames as well. If you were never exposed to a case insensitive filesystem first, you would find case sensitive the most natural way. Give end users some credit, it's really not rocket science to understand that f and F are not the same, most people handle this "mindblowing" concept just fine.

    Also the reason Microsoft made NTFS case insensitive by default was not because of "user friction" but because of backwards compatibility with MSDOS FAT16 all upper case 8.3 file names. However, when they created a new file system for the cloud, Azure Blob Storage, guess what: they made it case sensitive.