2009-02-06 9 views
0

Personnellement, je n'aime pas les langages de programmation sensibles à la casse.Y a-t-il un avantage à être un langage de programmation sensible à la casse?

(je sais que les inconvénients de sensibilité à la casse sont maintenant jours- complémentés par de bonnes IDEs)

Je voudrais encore savoir s'il y a des avantages pour un langage de programmation si elle est sensible à la casse. Y a-t-il une raison pour laquelle les concepteurs de nombreuses langues populaires ont choisi de les rendre sensibles à la casse?

EDIT: double de Why are many languages case sensitive?

EDIT: (Je ne peux pas croire que je posé cette question il y a quelques années)

+0

http://stackoverflow.com/questions/494561/why-is-c-case-sensitive
http://stackoverflow.com/questions/165455/why-do-people-like-case-sensitivity et bientôt. –

Répondre

3

Ceci est une préférence. Je préfère la sensibilité à la casse, je trouve qu'il est plus facile de lire le code de cette façon. Par exemple, le nom de variable "myVariable" a une forme de mot différente de "MyVariable", "MYVARIABLE" et "myvariable". Cela rend plus facile d'un coup d'œil de distinguer les deux identifiants. Bien sûr, vous ne devriez pas ou très rarement créer des identifiants qui ne diffèrent que dans le cas. C'est plus sur la cohérence que le «bénéfice» évident d'augmenter le nombre d'identifiants possibles. Certaines personnes pensent que c'est un inconvénient. Je ne peux pas penser à n'importe quel moment auquel cas la sensibilité m'a donné des problèmes. Mais encore une fois, c'est une préférence.

1

Il permet l'implémenteur d'une classe/bibliothèque pour contrôler la façon dont boîtier est utilisé dans le code . Case peut également être utilisé pour transmettre un sens.

0

Le code ressemble plus. Dans les jours de BASIC ceux-ci étaient équivalents:

PRINT MYVAR 
Print MyVar 
print myvar 
+2

Juste parce que la langue est insensible à la casse, cela ne signifie pas que vous laissez simplement votre majuscule verrouiller. – Pyrolistical

+0

Je pense que pour certaines personnes cela signifierait juste cela. – JMD

+0

AFAIK, BASIC a été écrit beaucoup avec le verrouillage des majuscules ;-) 10 IMPRIMER "BONJOUR TOUT LE MONDE" 20 INPUT "VOTRE NOM", A $ 30 IMPRIMER "BONJOUR", A $ 40 GOTO 10 –

2

Case-sensibilité est intrinsèquement plus rapide pour analyser (bien que légèrement) car il peut comparer des séquences de caractères directement sans avoir à comprendre quels caractères sont équivalents les uns aux autres.

0

Avec la vérification de type, la sensibilité à la casse vous empêche d'avoir une faute d'orthographe et une variable non reconnue. J'ai corrigé des bogues dans un code qui est un langage non typé, insensible à la casse (FORTRAN77), où le zéro (0) et la lettre majuscule O semblaient identiques dans l'éditeur. Le langage a créé un nouvel objet et la sortie a donc été erronée. Avec un langage typé, sensible à la casse, cela ne serait pas arrivé.

+0

Vous êtes actuellement confronté à un problème avec des langages typés dynamiquement dans leur ensemble. Mélanger "cas" est juste une sorte d'orthographe, un cas trivial. Si vous avez myVariable et myVaraible (la deuxième est "mal orthographié") alors vous ne recevez aucune aide non plus. Mais, bien sûr, je suis d'accord. :) – BobbyShaftoe

0

Dans le compilateur ou l'interpréteur, un langage insensible à la casse devra faire tout en majuscules ou en minuscules pour tester les correspondances, ou utiliser un outil de correspondance insensible à la casse, mais ce n'est qu'une petite quantité de travail supplémentaire pour compilateur.

plus code sensible à la casse permet à certains modèles de déclarations telles que

MyClassName myClassName = new MyClassName()

et d'autres situations où la sensibilité est bien le cas.

+2

MyClassName myClassName = new MyClassName() est quelque chose MAIS NICE. C'est un piège pour les devs juniors, etc. Oui, je sais que les types boucliers utilisent des conventions comme celle-ci, mais ça me rendrait fou! Je vais m'en tenir à Delphi merci! –

Questions connexes