Alors que les autres réponses notent que cela argv
vient de C, où C a-t-il eu l'idée d'appeler un tableau un "vecteur"?
Directement, il provenait de BCPL . Bien qu'il se argv
réfère au vecteur des arguments (chaîne), BCPL avait des chaînes stockées dans des vecteurs, mais elles étaient des littéraux de chaîne et fonctionnaient comme des chaînes Pascal. Le vecteur avait deux éléments: la longueur à literal!0
et les caractères à literal!1
. Selon Clive Feather , les chaînes ont été manipulées en les «déballant» en tableaux de caractères, en transformant le tableau puis en les «reconditionnant» en chaînes: comparez cela avec C où les chaînes sont des tableaux de caractères.
Donc oui, C a utilisé v comme vecteur parce que quelque chose d'autre l'avait fait auparavant. Maintenant, avant que BCPL n'utilise le vecteur de cette façon? BCPL était lui-même une simplification du "Cambridge [or Combined] Programming Language": il était utilisé vector
comme synonyme d'un tableau à 1 dimension et matrix
comme synonyme d'un tableau à 2 dimensions. Ceci est cohérent avec la notation en mathématiques des vecteurs et des matrices, bien qu'en CPL ce ne soient que des mnémoniques pratiques et n'ont aucune des propriétés associées aux structures mathématiques.
Pouvons-nous reculer dans le temps concernant les langages informatiques? Une branche potentielle de notre sentier est froide. CPL a été fortement influencé par Algol 60 (la mise à jour de 1963). Maintenant, ALGOL 68 avait des types qui étaient décrits comme des "vecteurs emballés", tels que bits
et bytes
: mais ceux-ci ne figuraient pas dans les versions antérieures d'Algol qui faisaient simplement ARRAY
référence à un tableau. Comme BCPL remonte à 1966, CPL devait être antérieure à cela (mais après 1963): ALGOL 68 (normalisé en 1968 et 1973) ne peut pas avoir eu une influence directe.
D'autre part, les principales caractéristiques de CPL font également référence au système LISP de McCarthy . Bien que cela n'utilise pas vecteur de se référer à une structure de données dans le système lui - même, les être S-expressions , M-expressions et L-expressions (L-expressions sont des chaînes, de sorte que toute association entre le vecteur et la chaîne a disparu), il ne vecteur utilisé dans un autre sens pour représenter les « valeurs d'un certain nombre de variables » représentant « l'état de la machine à tout moment ». Nous avons donc des preuves d'une hypothèse formulée dans les commentaires: que l'utilisation du mot «vecteur» pour signifier «tableau» en informatique provient de l'application du terme similaire en mathématiques.