Mentre le altre risposte fanno notare che argv
deriva da C, dove C ha avuto l'idea di chiamare un array un "vettore"?
Direttamente, è arrivato da BCPL . Sebbene argv
si riferisca al vettore di argomenti (stringa), BCPL aveva delle stringhe memorizzate in vettori, ma erano stringhe letterali e funzionavano come stringhe Pascal. Il vettore aveva due elementi: la lunghezza in literal!0
ei caratteri in literal!1
. Secondo Clive Feather , le stringhe sono state manipolate da "scompattarle" in matrici di caratteri, trasformando l'array poi "reimballaggio" in stringhe: confronta questo con C dove stringhe sono matrici di caratteri.
Quindi sì, C ha usato v per il vettore perché qualcos'altro l'aveva già fatto prima. Ora, ha fatto qualcosa prima che BCPL usasse il vettore in questo modo? BCPL era di per sé una semplificazione del "Cambridge [o Combined] Language Programming": usato vector
come sinonimo di un array 1-dimensionale e matrix
come sinonimo di un array bidimensionale. Ciò è coerente con la notazione in matematica di vettori e matrici, sebbene in CPL siano semplicemente mnemonici a portata di mano e non abbiano nessuna delle proprietà associate alle strutture matematiche.
Possiamo spingerci oltre nel tempo per quanto riguarda i linguaggi informatici? Un potenziale ramo del nostro percorso è freddo. La CPL fu pesantemente influenzata da Algol 60 (l'aggiornamento del 1963). Ora ALGOL 68 aveva tipi che erano descritti come "vettori compressi", come bits
e bytes
: ma questi non erano nelle versioni precedenti di Algol che avevano appena ARRAY
riferendosi alla matrice. Poiché 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, Funzioni principali di CPL fa anche riferimento al sistema LISP di McCarthy . Anche se questo non usa vector per fare riferimento a una struttura di dati nel sistema stesso, quelli che sono S-espressioni , M-espressioni e < em> L-espressioni (le espressioni L sono stringhe, quindi qualsiasi associazione tra vettore e stringa è scomparsa), fa usa il vettore in un altro senso per rappresentare i "valori di un numero di variabili "che rappresentano" lo stato della macchina in qualsiasi momento ". Quindi abbiamo le prove per un'ipotesi fatta nei commenti: che l'uso della parola "vettore" per indicare "array" nel calcolo deriva dall'applicazione del termine simile in matematica.