Le repli des cas est assez trivial en anglais, il l'est beaucoup moins dans d'autres langues. Si un programmeur allemand utilise ß
un nom de variable, qu'allez-vous considérer comme son équivalent majuscule? Juste Pour votre information, « ß » est seulement jamais utilisé en minuscules. OTOH, "ss" est équivalent - considéreriez-vous un compilateur obligé de les faire correspondre? Lorsque vous entrez dans Unicode, vous rencontrez des problèmes encore plus intéressants, tels que des caractères avec des marques diacritiques pré-composées ou des combinaisons de diacritiques combinées séparément. Ensuite, vous arriverez à quelques scripts arabes, avec trois formes distinctes de plusieurs lettres, au lieu de deux.
À l'époque sombre, la plupart des langages de programmation étaient insensibles à la casse, presque par nécessité. Par exemple, Pascal a commencé avec les ordinateurs centraux de données de contrôle, qui utilisaient seulement six bits par caractère (64 codes au total). La plupart de ces machines utilisaient le jeu de caractères "CDC Scientific", qui ne contenait que des caractères majuscules. Vous pouvez passer à d'autres jeux de caractères, mais la plupart ont des majuscules ou des minuscules, mais pas les deux, mais utilisent les mêmes codes pour les deux. Il en était de même pour les anciens codes Baudot et cette norme considérée dès les débuts de COBOL, FORTRAN, BASIC, etc. À l’époque où le matériel le plus performant était largement disponible, leur insensibilité à la casse était si profondément enracinée qu’il était impossible de la modifier. .
Au fil du temps, la véritable difficulté de l'insensibilité à la casse est devenue plus évidente et les concepteurs de langages ont surtout décidé ("se rendra compte" serait probablement un terme plus précis) que lorsque / si les gens veulent vraiment l'insensibilité à la casse, elle est mieux gérée par des outils auxiliaires. que dans la langue elle-même.
Au moins, IMO, le compilateur devrait prendre les entrées exactement telles qu’elles sont présentées, et non décider que "vous avez écrit cela, mais je vais supposer que vous vouliez vraiment dire autre chose". Si vous souhaitez que les traductions soient effectuées, il est préférable de les effectuer séparément, avec des outils conçus pour gérer cela correctement.