Bonjour,
je suis en train de m'auto former à Java et ce faisant je découvre beaucoup de bonnes choses, nottament dans des contraintes de programmation assez strictes mais qui permettent d'éviter des erreurs plus tard ce qui me plait beaucoup.
Je dirais donc que Java est un language qui essaye au maximum d'interdire les opérations/manières de coder potentiellement dangereuses et les remplace par des "best practices" éprouvées.
Par contre il y a a mon avis des parties de java qui vont complètement à l'encontre de cette philosophie et nottament le fait que Java soit Case sensitive pour les noms de variables et les noms de fonctions.
Ma question est simple : y a t'il une UTILITé à cela ?
Alors je précise :
je ne demande pas une réponse du genre "parceque sous unix c'est case sensitive et java viens plus ou moins d'unix donc c'est comme ça"
c'est sans doute une réponse valable mais si c'est la seule raison alors je dirais : ils auraient du rendre Java insensible à la casse.
une autre réponse que j'ai reçue c'est "parceque il y a le type primitif integer et le type objet INTEGER" => exemple parfait de pouquoi cette sensibilité est une source potentielle d'ennuis. il suffit d'oublier une fois la case ou d'etre en train d'apprendre le language pour pouvoir oublier / confondre deux choses différentes mais pourtant présentées de façon très semblables.
De plus un préfixe aurait bien mieux rempli cet office ex : integer et obj_integer
pour ma part je ne vois aucune justification à ça, je n'imagine pas devoir un jour écrire une fonction CalculPaye() et une autre calculpaye() qui agirait autrement, pourtant c'est possible ds un language case sensitive.
autre argument parfois avancé : c'est pour forcer à respecter les normes de nommage
Je ne pense pas que ce soit une réponse valable étant donné qu'on est à aucun moment OBLIGé de respecter les normes, si je veux faire une fonction CalCuLpAyE() je peux le faire, et je peux en plus faire une fonction CaLCULpaye() ce que je ne pourrais pas faire dans un language case insensitive => le case insensitive est bien moins source d'erreur puisque une fois la fonction / variable crée il ne peut y en avoir d'autre du même nom.
Le seul argument que je peux imaginer c'est un argument de performance, qu'il serait plus simple / rapide d'utiliser ce mode,mais
1- je ne sais pas lequel serait le plus rapide mais je *crois* que ce serait plutot le case insensitive
2- je *crois* encore que la différence de perfs serait mini mini, du genre complètement indétectable à l'exécution.
merci d'éclairer ma lanterne sans trop me taper dessus, j'apprends et je me pose des questions![]()
Partager