45 votes

Pourquoi de nombreuses langues sont-elles sensibles à la casse?

Pourquoi de nombreuses langues sont-elles sensibles à la casse?

Est-ce simplement une question d'héritage? C ++ est sensible à la casse parce que C l'est, Java est sensible à la casse parce que C ++ est, etc.? Ou y a-t-il une raison plus pragmatique derrière cela?

66voto

Paulius Points 4148

Je ne pense pas que vous obtiendrez une meilleure réponse que "parce que les auteurs de cette langue pensaient que c'était mieux ainsi". Personnellement, je pense qu'ils ont raison. Je détesterais trouver ces lignes n'importe où dans le même fichier source (et faire référence au même objet + méthode) ...

 SomeObject.SomeMethod();
...
SOMEOBJECT.SOMEMETHOD();
...
someObject.someMethod();
...
sOmEoBjEcT.sOmEmEtHoD();
 

Je ne pense pas que quiconque serait heureux de voir cela ...

64voto

Schnapple Points 6117

Unix.

Unix est sensible à la casse, et donc les premiers langages de programmation ont été sensibles à la casse.

Les ordinateurs ne sont pas pardonne - un caractère majuscule n'est pas la même chose qu'un caractère en minuscule, ils sont totalement différents. Et à l'époque où des cycles de traitement, de la RAM et ainsi de suite étaient chers, il n'était pas vu comme la valeur de l'effort à la force des compilateurs et des ordinateurs pour être "indulgent", les gens étaient tout simplement essayer d'obtenir les choses à travailler.

Remarquez comment compte de la casse n'a pas vraiment donner quelque chose d'utile jusqu'à ce que des choses comme le Visual Basic est venu - une fois que les entreprises ont commencé à investir dans la notion que l'obtention des masses de programme a été une bonne chose pour leur ligne de fond (c'est à dire, Microsoft gagne plus d'argent si il n'y a plus de programmes sur Windows) les langues commencent à être plus convivial et plus tolérant.

36voto

Jon Skeet Points 692016

Une chose intéressante à considérer est que l'anglais est également sensible à la casse. (Je soupçonne que cela est vrai pour la plupart des langues naturelles, mais il peut très bien ne pas être vrai pour tous.)

Il y a une grosse différence (là où j'habite, de toute façon, près de la ville de la Lecture) entre:

J'aime la lecture.

et

J'aime la Lecture.

De même, alors que beaucoup de gens ne capitaliser de manière incorrecte, et vous pouvez généralement comprendre ce que cela signifie, cela ne signifie pas que cet écrit est considéré comme correct. Je suis pointilleux quand il s'agit de ce genre de chose, ce qui n'est pas à dire que j'ai tout bien moi-même, bien sûr. Je ne sais pas si c'est une partie de l'héritage de la langue de programmation de la casse, mais je pense qu'elle peut être.

Un avantage distinct de la sensibilité à la casse pour les langages de programmation, c'est que le texte devient culturellement insensibles ainsi. Il est assez mauvais d'avoir, à l'occasion, sort un compilateur qui l'encodage de texte est utilisé pour un fichier source - avoir à spécifier la culture , il en serait encore pire :(

28voto

Axelle Ziegler Points 1903

Il est en fait extrêmement pratique, à la fois pour les développeurs et pour la syntaxe du langage de spécification: majuscule/minuscule distinction ajoute beaucoup de l'expression à l'identificateur de nommage.

Du point de vue de la syntaxe de la langue, vous pouvez forcer certains identificateurs de commencer par une minuscule ou majuscule (par exemple nom de la classe Java). Qui rend l'analyse plus facile, et donc aide à garder la syntaxe propre.

À partir d'un développeur point de vue, ce qui permet un grand nombre de pratique des conventions de codage, ce qui rend votre code plus clair et plus facile à comprendre.

24voto

Arkadiy Points 10567

Je suppose que la sensibilité à la casse élargit l’espace de noms. Une belle astuce telle que

 MyClass myClass;
 

serait impossible avec un compilateur insensible à la casse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X