Mentre la piegatura del case è abbastanza banale in inglese, lo è molto meno in alcune altre lingue. Se un programmatore tedesco usa ß
un nome di variabile, cosa considererai l'equivalente in maiuscolo? Cordiali saluti, "ß" è sempre e solo usato in minuscolo. OTOH, "ss" è equivalente - considereresti un compilatore obbligato ad abbinarli? Quando entri in Unicode, ottieni problemi ancora più interessanti, come i personaggi con segni diacritici precomposti rispetto ai diacritici combinati separati. Quindi si arriva ad alcuni script arabi, con tre forme separate di molte lettere, anziché solo due.
Nei secoli bui la maggior parte dei linguaggi di programmazione non distingue tra maiuscole e minuscole per necessità. Ad esempio, Pascal è partito dai mainframe Control Data, che utilizzavano solo sei bit per carattere (64 codici, totale). La maggior parte di tali macchine utilizzava il set di caratteri "CDC Scientific", che conteneva solo caratteri maiuscoli. Potresti passare ad altri set di caratteri, ma la maggior parte aveva caratteri maiuscoli o minuscoli, ma non entrambi - ma utilizzava gli stessi codici per entrambi. Lo stesso valeva per gli antichi codici Baudot e simili considerati agli inizi di COBOL, FORTRAN, BASIC, ecc. Quando l'hardware più capace era ampiamente disponibile, il loro insensibilità al case era così profondamente radicato che cambiarlo era impossibile .
Nel corso del tempo, la reale difficoltà di insensibilità al maiuscolo / minuscolo è diventata più evidente, e i progettisti del linguaggio hanno deciso per lo più ("realizzato" sarebbe probabilmente un termine più accurato) che quando / se le persone vogliono davvero insensibilità al caso, è meglio gestita da strumenti ausiliari che nella lingua stessa.
Almeno IMO, il compilatore dovrebbe prendere l'input esattamente come presentato, non decidere che "hai scritto questo, ma suppongo che tu abbia davvero significato qualcos'altro". Se vuoi che le traduzioni avvengano, è meglio farle separatamente, con strumenti creati per gestirlo bene.