Perché OS X sceglie di avere un file system insensibile alle maiuscole e alle minuscole invece di uno sensibile alle maiuscole?

Parzialmente insensibile alle maiuscole e alle minuscole sarebbe la descrizione migliore.

Il contesto storico è che l'originale HFS era insensibile alle maiuscole e alle minuscole per i caratteri dalla A alla Z. cioè 'A' è come 'a'', 'B' è come 'b' e così via. Farebbe lo stesso con lettere che contengono diacritici tra la loro forma maiuscola e minuscola, ad esempio 'À' è come 'à' ecc. Il file system usava uno schema ASCII esteso "Mac OS Roman" che conteneva la maggior parte dei caratteri latini.

Questo è stato portato avanti fino a HFS+ e APFS ma Unicode era una cosa a questo punto. Quindi ora i nomi dei file possono contenere qualsiasi sequenza Unicode valida.

Quindi è da qui che viene il parziale. I file system insensibili alle maiuscole usano una tabella di piegatura delle maiuscole Unicode per normalizzare i nomi.

Se il file system fosse veramente insensibile alle maiuscole, allora i file "COTE", "coté" e "côté" sarebbero gli stessi per un utente francese, perché "COTE" è la grafia maiuscola sia di "coté" che di "côté" (il francese spesso omette i diacritici sulle maiuscole). Quindi "COTE" non dovrebbe coesistere nella stessa cartella con "coté" e "côté" ma "coté" e "côté" potrebbero coesistere.

E in modo simile le parole tedesche "groß", "GROSS" e "GROẞ" sono equivalenti (la maiuscola ẞ è un'introduzione ortografica abbastanza recente).

Ovviamente sarebbe molto difficile mettere questa conoscenza in un file system o dedurre quale lingua le regole dovrebbero seguire, specialmente se si usano più lingue sullo stesso dispositivo. APFS insensibile al maiuscolo/minuscolo contiene anche delle particolarità, che possono essere viste qui, che permettono a nomi di file semanticamente identici di esistere uno accanto all'altro a causa di come le stringhe sono state codificate e confrontate. Forse è per questo che APFS può essere usato in modalità case sensitive, il che è probabilmente una buona idea per chiunque gestisca un file server o che non ami l'ambiguità.