From a technical standpoint, the windows NTFS filesystem is designed inherently case sensitive, just windows doesn’t allow creating case sensitive files.
Connecting an NTFS drive to linux, you can create two separate files readme.txt and Readme.txt.
Using windows, you can see both files in the filesystem, but chances are most (if not all) software will struggle accessing both files, opening readme.txt might instead open Readme.txt or vice versa.
NTFS was designed back in the mid 90s, when the plan was to have the single NT kernel with different subsystems on top of it, some of those layers (i.e. POSIX) needed case sensitivity while others (Win32 and OS/2) didn’t.
It only looks odd because the sole remaining subsystem in use (Win32) barely makes use of any of the kernel features, like they’re only just now enabling long file paths.
For a few years now, Windows has had the capability of marking certain directories as case-sensitive. So you can have a mixed-case-sensitivity filesystem experience now. Yeah. :/
I once ran into a bug in an Arduino program where it wouldn’t compile. The author blamed my “broken environment”. Turned out, he had included “arduino.h” instead of the correct “Arduino.h”.
Although you can use case insensitive filesystems with Linux, and case sensitive filesystems with macOS. I believe the case sensitivity is a function of the specific filesystem — but yeah, practically, the root for Linux is always case sensitive, and APFS ain’t is only if you ask it to be ( https://support.apple.com/lv-lv/guide/disk-utility/dsku19ed921c/mac ).
When case insensitivity is the default I always wonder how many apps unknowingly rely on that due to typos somewhere. I encountered this once while porting a Windows/macOS app to Linux that someone imported a module with the wrong case and nobody noticed
The source engine does not handle case sensitivity when loading assets from disk. On windows it’s not an issue but on Linux it will silently fail to load assets if the case doesn’t match. I lost so many hours trying to fix some weapon animation that had 0 seconds run time when porting a mod dedicated server to Linux.
That you can give 2 different files the same name? Because that would confuse the hell out of every regular user. Especially if you work on a network share and have an entire directory full of same named files because everyone and their grandma throws their files in there.
It is almost as bad as Case Sensitive Usernames and email.
Fun fact, though: Linux is the only case-sensitive one.
Edit: I feel silly for forgetting that it’s all about the choice of FS. If anyone needs anything from me, I’ll be in the corner, coloring.
From a technical standpoint, the windows NTFS filesystem is designed inherently case sensitive, just windows doesn’t allow creating case sensitive files.
Connecting an NTFS drive to linux, you can create two separate files readme.txt and Readme.txt.
Using windows, you can see both files in the filesystem, but chances are most (if not all) software will struggle accessing both files, opening readme.txt might instead open Readme.txt or vice versa.
Such a microsoft thing to do.
NTFS was designed back in the mid 90s, when the plan was to have the single NT kernel with different subsystems on top of it, some of those layers (i.e. POSIX) needed case sensitivity while others (Win32 and OS/2) didn’t.
It only looks odd because the sole remaining subsystem in use (Win32) barely makes use of any of the kernel features, like they’re only just now enabling long file paths.
For a few years now, Windows has had the capability of marking certain directories as case-sensitive. So you can have a mixed-case-sensitivity filesystem experience now. Yeah. :/
You’re correct. I once was trying to rename a file in Windows in a git repository that had a wrong capitalization. It was tricky.
I once ran into a bug in an Arduino program where it wouldn’t compile. The author blamed my “broken environment”. Turned out, he had included “arduino.h” instead of the correct “Arduino.h”.
Although you can use case insensitive filesystems with Linux, and case sensitive filesystems with macOS. I believe the case sensitivity is a function of the specific filesystem — but yeah, practically, the root for Linux is always case sensitive, and APFS
ain’tis only if you ask it to be ( https://support.apple.com/lv-lv/guide/disk-utility/dsku19ed921c/mac ).When case insensitivity is the default I always wonder how many apps unknowingly rely on that due to typos somewhere. I encountered this once while porting a Windows/macOS app to Linux that someone imported a module with the wrong case and nobody noticed
The source engine does not handle case sensitivity when loading assets from disk. On windows it’s not an issue but on Linux it will silently fail to load assets if the case doesn’t match. I lost so many hours trying to fix some weapon animation that had 0 seconds run time when porting a mod dedicated server to Linux.
VS Codium did that at some point, it probably still does but I haven’t checked
As is right and proper.
But why? What is the point?
That you can give 2 different files the same name? Because that would confuse the hell out of every regular user. Especially if you work on a network share and have an entire directory full of same named files because everyone and their grandma throws their files in there.
It is almost as bad as Case Sensitive Usernames and email.
On MacOS you get a choice when you format the drive.