Mentre le altre risposte notano che argv
proviene da C, dove C ha avuto l'idea di chiamare un array un "vettore"?
Direttamente, proveniva da BCPL . Sebbene si argv
riferisca al vettore di argomenti (stringa), BCPL aveva stringhe memorizzate in vettori, ma erano letterali stringa e funzionavano come stringhe Pascal. Il vettore aveva due elementi: la lunghezza a literal!0
e i caratteri a literal!1
. Secondo Clive Feather , le stringhe sono state manipolate "scompattandole" in array di caratteri, trasformando l'array e "reimballandole" in stringhe: confrontale con C dove le stringhe sono array di caratteri.
Quindi sì, C ha usato v per il vettore perché qualcos'altro l'aveva fatto prima. Ora, prima che BCPL usasse qualcosa in questo modo? BCPL era di per sé una semplificazione del "linguaggio di programmazione Cambridge [o combinato]": utilizzato vector
come sinonimo di un array monodimensionale e matrix
come sinonimo di un array bidimensionale. Ciò è coerente con la notazione in matematica di vettori e matrici, sebbene in CPL siano solo utili mnemonici e non abbiano nessuna delle proprietà associate alle strutture matematiche.
Possiamo tornare indietro nel tempo riguardo ai linguaggi informatici? Un potenziale ramo del nostro percorso scorre freddo. CPL fu fortemente influenzato da Algol 60 (l'aggiornamento del 1963). Ora ALGOL 68 aveva tipi che erano descritti come "vettori impaccati", come bits
e bytes
: ma questi non erano nelle versioni precedenti di Algol che si ARRAY
riferivano solo all'array. Dato che BCPL viene dal 1966, CPL deve essere stato prima (ma dopo il 1963): ALGOL 68 (standardizzato nel 1968 e 1973) non può essere stato un'influenza diretta.
D'altra parte, le caratteristiche principali di CPL fanno anche riferimento al sistema LISP di McCarthy . Anche se questo non utilizza vettoriale per fare riferimento a una struttura di dati nel sistema stesso, quelli essere S-espressioni , M-espressioni e L-espressioni (L-espressioni sono stringhe, quindi qualsiasi associazione tra vettore e la stringa è scomparso), essa fa uso vettore in un altro senso per rappresentare i "valori di un certo numero di variabili" rappresenta "lo stato della macchina in qualsiasi momento". Quindi abbiamo prove di un'ipotesi fatta nei commenti: che l'uso della parola "vettore" per indicare "matrice" nell'informatica deriva dall'applicazione del termine simile in matematica.