Enquanto as outras respostas observam que argv
vem de C, onde C teve a idéia de chamar uma matriz de "vetor"?
Diretamente, veio do BCPL . Embora argv
se refira ao vetor de argumentos (string), o BCPL possuía strings armazenadas em vetores, mas eram literais de strings e funcionavam como strings de Pascal. O vetor tinha dois elementos: o comprimento em literal!0
e os caracteres em literal!1
. De acordo com Clive Feather , as strings foram manipuladas "descompactando-as" em matrizes de caracteres, transformando a matriz e depois as "reembalando" em strings: compare isso com C, onde strings são matrizes de caracteres.
Então, sim, C usou v como vetor porque algo havia feito isso antes. Agora, algo antes do BCPL usou o vetor dessa maneira? O próprio BCPL era uma simplificação da "Cambridge [ou linguagem de programação combinada]": usada vector
como sinônimo de uma matriz unidimensional e matrix
como sinônimo de uma matriz bidimensional. Isso é consistente com a notação matemática de vetores e matrizes, embora na CPL eles sejam apenas mnemônicos úteis e não possuam nenhuma das propriedades associadas às estruturas matemáticas.
Podemos recuar ainda mais no tempo em relação às linguagens de computação? Um ramo potencial de nossa trilha fica frio. A CPL foi fortemente influenciada pelo Algol 60 (atualização de 1963). Agora, o ALGOL 68 tinha tipos que eram descritos como "vetores compactados", como bits
e bytes
: mas eles não estavam nas versões anteriores do Algol, que apenas se ARRAY
referiam ao array. Como a BCPL vem de 1966, a CPL deve ter sido antes disso (mas depois de 1963): o ALGOL 68 (padronizado em 1968 e 1973) não pode ter sido uma influência direta.
Por outro lado, os principais recursos da CPL também fazem referência ao sistema LISP de McCarthy . Embora esta não usa vector para se referir a uma estrutura de dados no sistema em si, ser aqueles S-expressões , M-expressões e L-expressões (L-expressões são cadeias, portanto, qualquer associação entre o vector e cadeia desapareceu), ele faz uso vetor em outro sentido para representar os "valores de uma série de variáveis", representando "o estado da máquina a qualquer momento". Portanto, temos evidências de uma suposição feita nos comentários: que o uso da palavra 'vetor' para significar 'matriz' na computação vem da aplicação do termo similar em matemática.