Quelle est la raison d'utiliser de tels noms d'appel de système sans vélo tels que time
et creat
au lieu de getCurrentTimeSecs
et createFile
ou, peut-être plus approprié sur UNIX get_current_time_secs
et create_file
. Ce qui m'amène au point suivant: pourquoi quelqu'un devrait-il vouloir quelque chose comme cfsetospeed
sans cas de chameau ni au moins des traits de soulignement pour le rendre lisible? Bien sûr, les appels auraient plus de caractères mais nous savons tous que la lisibilité du code est plus importante.
dR01 a raison, mais il y a aussi une autre raison - convivialité. De retour dans la journée, vous n'aviez pas quelque chose d'aussi confortable qu'un clavier pour taper. Si vous avez eu de la chance, vous avez eu quelque chose de semblable à une machine à écrire de la vieille école. Si vous avez mal rencontré, vous avez dû traiter des systèmes nécessitant des travaux physiques réels à fonctionner (comme dans, il a fallu beaucoup de force pour appuyer sur la "touche") ou des trous frappés manuellement sur une carte.
Cela signifiait que même dans la limite de 6 à 8 caractères, vous avez essayé de garder vos commandes aussi courtes que possible. C'est pourquoi vous avez ls
au lieu de list
et creat
au lieu de create
. Le code de cette époque est rempli de variables comme a
, x
et i
- et bien sûr, x2
et amis. La dactylographie a été beaucoup de travail - aujourd'hui, vous êtes moins exercé de la dactylographie listIndex
que vous veniez de "taper" i
- et ce n'est même plus que plus lent (surtout avec des technologies supplémentaires telles que l'achèvement automatique).
La vraie question est - pourquoi de nombreuses idiomes UNIX persistent-elles même si elles ne sont plus souhaitables?
En plus des autres réponses, je voudrais souligner que l'UNIX a été développée comme une réaction aux multicomanes, CTSS et d'autres systèmes d'exploitation contemporains, qui étaient de manière significative plus verbeuse sur leurs conventions de nommage. Vous pouvez avoir une idée de ces OSES à http://www.multiciens.org/devdoc.html . Par exemple, http://www.multiciens.org/mspm-bx-1-00.html donne change_name
comme la commande pour renommer un fichier; Comparez UNIX mv
.
En outre, la principale raison pour laquelle les noms d'appel système très courts persistent est la compatibilité en retard. Vous remarquerez que les nouvelles API ont tendance à être plus explicites; par exemple. gettimeofday
et clock_gettime
au lieu de juste time
.
(Même aujourd'hui, en utilisant whateverIndex
au lieu de i
_ pour un index de boucle est une défaillance automatique de l'examen de code dans mon livre ;-)
Dennis Ritchie s'est fixé une contrainte avec C que cela ne s'appuierait pas sur des caractéristiques de liaison qui n'étaient pas également requises par Fortran. D'où la limite de 6 caractères sur les noms externes.