40 points

And i hate it being case sensitive

permalink
report
reply
20 points

And I love it.

permalink
report
parent
reply
27 points

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?

permalink
report
parent
reply
28 points

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.

permalink
report
parent
reply
5 points

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.

permalink
report
parent
reply
3 points

Isn’t it less strain on the Filesystem? keeping a sanitised filename next to the actual filename surely has some drawbacks.

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
10 points

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.

permalink
report
parent
reply
10 points

CMV: all Linux files should be case insensitive, displayed as lowercase and mandatory snake_case.

permalink
report
parent
reply
9 points

To my knowledge since Windows 10, files can be case sensitive. It is still tricky to setup, but it won’t break.

permalink
report
reply
9 points

Nah, Windows still fucks it up. I was forced to use Windows 11 for a code generation tool from a chip vendor the other week and it screwed everything up by inserting references to a directory with different cases than how it was actually created.

permalink
report
parent
reply
7 points

That’s more likely to be the tool assuming it’s running on a case-insensitive filesystem than it is Windows breaking anything. If you mount networked storage running on a case-sensitive machine, that’s something that’s worked fine in Windows for a very long time.

permalink
report
parent
reply
2 points

The tool is making the assumption, but everything works on Windows. Windows obviously selectively enforces case sensitivity, surely for backwards compatibility, and this stone-age behavior masks the problem.

permalink
report
parent
reply
13 points
*

What a tragedy. Giving files slightly different names seems far more organized and logical than having several files with the same name and different capitalization. Really seems like a non-issue to me.

EDIT: I will never simp for Windows or Microsoft, I definitely think Linux is better in many ways. But my point still stands about this specific topic.

permalink
report
reply
3 points

I’ve used Windows for a bit more than a decade, and I only found out its VFS is case-insensitive (by default) after I fully ditched the OS, when a bunch of Electron applications created directories with different cases - nothing ever broke because of it, save for a single Godot game.

Personally, I think case-insensitivity seldom makes sense, though I’m also aware that not everyone [knows how / is able] to properly operate a keyboard.

permalink
report
parent
reply
186 points

This is one case where I think Windows is appropriately designed for its target audience.

permalink
report
reply
76 points

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

permalink
report
parent
reply
36 points

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

permalink
report
parent
reply
16 points

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.

permalink
report
parent
reply
4 points

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!

permalink
report
parent
reply
0 points

pov: you encode filenames in utf-1, just happens to contain one of those bytes

permalink
report
parent
reply
1 point
*

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.

permalink
report
parent
reply
5 points

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

permalink
report
parent
reply
34 points
*

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.

permalink
report
parent
reply
7 points

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

permalink
report
parent
reply
7 points

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 :)

permalink
report
parent
reply
3 points

case insensitive by default, yet case preserving

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

permalink
report
parent
reply
3 points
*

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).

permalink
report
parent
reply
1 point

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

permalink
report
parent
reply
5 points

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)

permalink
report
parent
reply
25 points

Windows way is superior, in my opinion. I don’t think there’s a need for File.txt and fILE.txt

permalink
report
reply
23 points

FlLE.txt FILE.txt

permalink
report
parent
reply
16 points
*

Indeed. Linux audio also allows control characters like backspace to be part of a file name (though it is harder to make such file as you can’t just type the name). Which is just horrible.

permalink
report
parent
reply
2 points

Linux audio?

permalink
report
parent
reply
2 points

Yeah, Linux can capture and playback the spoken distinction between lowercase and uppercase letters. Windows can’t do that.

You’re not taking advantage of that functionality?

permalink
report
parent
reply
2 points

:D.

Fixed

permalink
report
parent
reply
11 points

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.

permalink
report
parent
reply
0 points
*
Deleted by creator
permalink
report
parent
reply
4 points
*

Because it’s designed for average people

It is not. It is designed for all purposes, automated processes and people alike. A filesystem is not just for grandma’s Word documents.

And even people’s names are case sensitive. My name has the format Aaa Bbb ccc Ddd. It is not the same as the person with the name Aaa Bbb Ccc Ddd, who also exists. So why shouldn’t file names be?

permalink
report
parent
reply
8 points

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

permalink
report
parent
reply
1 point
*

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.

permalink
report
parent
reply
0 points

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?

permalink
report
parent
reply
0 points
*

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.

permalink
report
parent
reply

linuxmemes

!linuxmemes@lemmy.world

Create post

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!


Important: never execute code or follow advice that you don’t understand or can’t verify, especially here. The word of the day is credibility. This is a meme community – even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don’t fork-bomb your computer.

Community stats

  • 6.5K

    Monthly active users

  • 1.1K

    Posts

  • 24K

    Comments