Während die anderen Antworten auf argv
C hinweisen , woher kam C die Idee, ein Array als "Vektor" zu bezeichnen?
Direkt kam es von BCPL . Obwohl argv
sich BCPL auf den Vektor von (String-) Argumenten bezieht, wurden in Vektoren zwar Strings gespeichert, diese waren jedoch String-Literale und arbeiteten wie Pascal-Strings. Der Vektor hatte zwei Elemente: die Länge bei literal!0
und die Zeichen bei literal!1
. Nach Clive Feder wurden manipuliert Saiten durch „entpackt“ , um sie in die Zeichen - Arrays, um das Array umzuwandeln , dann „Neuverpackung“ , um sie in Zeichenketten: Vergleichen dieses mit C , wo Zeichenketten sind Zeichen - Arrays.
Also, ja, C hat v für vector verwendet, weil etwas anderes dies zuvor getan hatte. Hat irgendetwas vor BCPL den Vektor auf diese Weise verwendet? BCPL war selbst eine Vereinfachung der "Cambridge [oder kombinierten] Programmiersprache": Dies wurde vector
als Synonym für ein eindimensionales Array und matrix
als Synonym für ein zweidimensionales Array verwendet. Dies stimmt mit der mathematischen Notation von Vektoren und Matrizen überein , obwohl diese in CPL nur praktische Mnemoniken sind und keine der Eigenschaften aufweisen, die mit den mathematischen Strukturen verbunden sind.
Können wir die Zeit in Bezug auf Computersprachen weiter zurückdrängen? Ein möglicher Zweig unseres Trails ist kalt. CPL wurde stark von Algol 60 beeinflusst (das Update von 1963). Jetzt hatte ALGOL 68 Typen, die als "gepackte Vektoren" bezeichnet wurden, wie z. B . : bits
und bytes
: Diese waren jedoch nicht in früheren Versionen von Algol enthalten, die sich nur ARRAY
auf Array bezogen. Da BCPL aus dem Jahr 1966 stammt, muss CPL davor (aber danach) gewesen sein: ALGOL 68 (standardisiert in den Jahren 1968 und 1973) kann keinen direkten Einfluss gehabt haben.
Andererseits beziehen sich die Hauptmerkmale von CPL auch auf das LISP-System von McCarthy . Obwohl hier kein Vektor verwendet wird , um auf eine Datenstruktur im System selbst zu verweisen, und zwar S-Ausdrücke , M-Ausdrücke und L-Ausdrücke (L-Ausdrücke sind Zeichenfolgen, daher ist jede Zuordnung zwischen Vektor und Zeichenfolge verschwunden) nicht verwenden Vektor in einem anderen Sinne repräsentieren die „Werte einer Anzahl von Variablen“ repräsentiert „den Zustand der Maschine zu jeder Zeit“. Wir haben also Beweise für eine Annahme, die in den Kommentaren gemacht wurde: Die Verwendung des Wortes "Vektor", um "Array" im Rechnen zu bedeuten, ergibt sich aus der Anwendung des ähnlichen Begriffs in der Mathematik.