Können wir vor Hugos Referenz von 1963 ein echtes Zitat bekommen? Ja. John McCarthy verwendete das Wort "Zeichenkette" in rekursiven Funktionen symbolischer Ausdrücke und ihrer maschinellen Berechnung, Teil I , ab April 1960.
Für Atomsymbole werden Zeichenfolgen aus lateinischen Großbuchstaben und Ziffern verwendet.
Sinnvoller für diese Frage ist jedoch ein Verweis auf einen String als Datentyp:
Jede Zeichenfolge mit zugelassenen Zeichen [ist] ein L-Ausdruck.
Das ist kein gutes Beispiel. McCarthy sagt "eine Zeichenkette" und verwendet "Zeichenkette" nicht in dem Sinne, wie es Programmierer heute meinen. Sie können einem Java-Programmierer leicht "eine Zeichenfolge" sagen, und er wird wissen, dass der Teil "von Zeichen" implizit ist: McCarthys Verwendung demonstriert diese Funktion nicht. Versuchen wir, in die 1950er Jahre zurückzukehren, um herauszufinden, ob McCarthy auf Nummer sicher ging oder ob der Begriff damals wirklich nicht existierte. LISP wird hier wahrscheinlich nicht viel helfen, da es auf einem mathematischen Kalkül basiert, sodass McCarthys String-Funktionen möglicherweise die erste Anwendung der Idee für die String-Verarbeitung waren.
Ein wichtiges Saitenverarbeitungssystem der 1960er Jahre war SNOBOL (A String Manipulation Language) aus dem Jahr 1964 . Dies zitiert McCarthys Artikel oben, erörtert aber auch COMIT und SCL. Die Arbeit, die sie zu SCL zitieren, ist unveröffentlicht: eine unglückliche Sackgasse.
COMIT ist leichter zu finden. Die Kunst der Computerprogrammierung (Band 1, dritte Ausgabe, S. 461) besagt, dass VH Yngve einen CACM-Artikel von 1963 darüber geschrieben hat. Aber ich suche nach der frühesten Verwendung von "string", also mache ich eine Autorensuche nach früheren Veröffentlichungen.
Das erste, was ich finden kann, ist eine Programmiersprache für mechanische Übersetzung vom Juli 1958. Diese enthält nur eine Verwendung des Wortes "string":
Jede fortlaufende Folge von Buchstaben zwischen Satzzeichen oder Leerzeichen wird im Wörterbuch nachgeschlagen.
Wieder ist diese Verwendung wie die von McCarthy: Dies ist kein Beweis dafür, dass "Zeichenfolge" in seinem heutigen Sinne verwendet wird. Wenn wir uns das Papier im Detail ansehen, sehen wir, dass die Datenstruktur eine "Zeile" auf einer Karte ist (was Fortsetzungen für längere "Zeilen" ermöglicht).
OK, wir werden in der Geschichte von COMIT vorankommen und sehen, was wir bekommen können. Die erste nützliche Referenz ist das COMIT-System für maschinelle Übersetzung aus dem Bericht einer Konferenz vom Juni 1959.
Wenn wir D SIN (F) durch COS (F) D (F) ersetzen möchten, wobei F uneingeschränkt ist und eine beliebige Folge von Bestandteilen sein kann, verwenden wir die Notation $, um für diesen String zu stehen.
Dies scheint mehr der Art zu entsprechen, wie wir es heute verwenden: "string" steht für sich und hat als Bonus ein erkennbares spezielles Symbol: Das Dollarzeichen wird in einigen BASIC-Varianten immer noch verwendet, um eine Stringvariable zu kennzeichnen.
Ab dieser Zeit taucht das Wort "string" auch in der Kommandosprache A zur Behandlung von Zeichenketten von Perlis und Smith aus dem ACM '58-Verfahren und einmal in " The Share 709 System: Machine Implementation of Symbolic Programming" von Boehm und Stahl.
Das Durchsuchen der digitalen Bibliothek von ACM nach 'string' in den frühen 1960er-Jahren ergab 62 Ergebnisse, darunter Titel wie "String-Handling in ALGOL", "String-Manipulation in der neuen Sprache" und "Eine Listenspeichertechnik für alphanumerische Informationen". Es scheint, dass sich die Idee bis dahin festgesetzt hat.
Ich würde argumentieren, dass "Zeichenfolge" im Sinne der Informatik im Laufe der Jahre um 1960 als geordnete Liste von Zeichen verbreitet wurde. Vorher konnten Autoren wie Yngwe und McCarthy "Zeichenfolge" sagen und sicher sein, dass dies der Fall ist verstanden, konnte aber "string" nicht als bloßes Wort in dem Sinne verwenden, wie es heute verwendet wird.
Die Abkürzung wurde wahrscheinlich von Perlis und Smith in den Computing-Mainstream eingeführt. Es wurde nicht häufig zitiert, aber ein wichtiges Zitat ist die syntaktische und semantische Erweiterung von ALGOL durch Joseph W. Smith im April 1960 (in derselben Ausgabe von CACM wie McCarthys Beschreibung von LISP). Aus diesem Papier:
Der Zweck dieses Papiers ist es, ALGOL eine Reihe syntaktischer und semantischer Erweiterungen vorzuschlagen. Die vorgeschlagenen Erweiterungen sollen die Beschreibung der Manipulation von Zeichenfolgen in dieser Sprache erleichtern. Sie stellen keine umfassende Sprache für die Manipulation von Symbolen dar.
Für mich ist dies ein Beweis dafür, dass "string" ein Datentyp für symbolische Berechnungen ist, der im akademischen Lexikon bestätigt und in die für kommerzielle Berechnungen verwendeten Tools eingeführt wird.
Übrigens, Programmiersprachen: Geschichte und Zukunft von Jean Sammet (1972) legen nahe, dass COMIT und SNOBOL die Vorläufer der String-Manipulation waren, daher bin ich ziemlich zuversichtlich, dass es keine früheren Beispiele geben wird.