Il est donc évident qu’une chaîne de choses est une séquence de choses, et donc une séquence de caractères / octets / etc. pourrait aussi bien s'appeler une chaîne. Mais qui les a appelés les premiers? Et quand? Et dans quel contexte tel qu'il est resté? Je me suis toujours demandé à ce sujet.
58
Réponses:
Pouvons-nous obtenir une vraie citation avant la référence de Hugo en 1963? Oui. John McCarthy a utilisé le mot "chaîne" dans Fonctions récursives d'expressions symboliques et leur calcul par machine, première partie , à partir d'avril 1960.
mais plus utilement pour cette question, une référence à une chaîne en tant que type de données:
Ce n'est pas un bon exemple. En disant "une chaîne de caractères", McCarthy n'utilise pas "chaîne" au sens spécialisé du terme, ce que les programmeurs veulent dire aujourd'hui. Vous pouvez facilement dire "une chaîne" à un programmeur Java et il saura que la partie "des caractères" est implicite: l'utilisation de McCarthy ne démontre pas cette fonctionnalité. Essayons de revenir aux années 50 pour voir si McCarthy jouait la sécurité ou si le terme n'existait pas vraiment à l'époque. LISP ne va probablement pas beaucoup aider ici, car il est basé sur un calcul mathématique et les fonctions de chaîne de McCarthy ont peut-être été la première application de l'idée au traitement de chaîne.
Le système de traitement des chaînes important des années 1960 était SNOBOL, un langage de manipulation des chaînes de 1964 . Cite l'article de McCarthy ci-dessus, mais aborde également COMIT et SCL. Le travail qu'ils citent sur SCL est inédit: une impasse malheureuse.
COMIT est plus facile à localiser. L'art de la programmation informatique (volume 1, troisième édition, p.461) nous dit que VH Yngve a écrit un article du CACM de 1963 à ce sujet. Mais je cherche la première utilisation de "chaîne", alors je vais faire une recherche par auteur pour les publications précédentes.
Le premier que je puisse trouver est Un langage de programmation pour la traduction mécanique , datant de juillet 1958. Il ne contient qu'une utilisation du mot "string":
Encore une fois, cet usage ressemble à celui de McCarth: il ne s’agit pas d’une preuve que "chaîne" est utilisé dans son sens actuel. En regardant le papier en détail, nous voyons que la structure de données est une "ligne" sur une carte (permettant des continuations pour des "lignes" plus longues).
OK, nous allons avancer dans l'histoire de COMIT et voir ce que nous pouvons obtenir. La première référence utile est le système COMIT pour la traduction mécanique , tiré des débats d’une conférence tenue en juin 1959.
Cela ressemble plus à la façon dont nous l’utilisons aujourd’hui: "chaîne" est unique et comporte en prime un symbole spécial reconnaissable: le signe dollar est toujours utilisé dans certaines versions BASIC pour indiquer une variable chaîne.
À partir de cette époque environ, le mot "chaîne" apparaît également à plusieurs reprises dans Un langage de commande pour la gestion de chaînes de symboles de Perlis et Smith issues des Actes ACM '58, et une fois dans The Share 709: Implémentation automatique de la programmation symbolique par Boehm et Acier.
La recherche de 'chaîne' dans la bibliothèque numérique ACM au début des années 1960 donne 62 résultats, notamment "Titres de traitement des chaînes dans ALGOL", "Manipulation de chaînes dans le nouveau langage" et "Technique de stockage de type liste pour les informations alphanumériques". Il semble que l’idée soit retranchée d’ici là.
Je dirais que "chaîne", dans son sens du jargon informatique, comme une liste ordonnée de caractères, est devenue courante au cours des années 1960. Avant cela, des auteurs comme Yngwe et McCarthy pouvaient dire "chaîne de caractères" et être sûrs qu'ils le seraient. compris, mais ne pouvait pas utiliser "chaîne" comme un mot nu dans le sens où il est utilisé aujourd'hui.
La sténographie a probablement été introduite dans le grand public informatique par le papier Perlis et Smith. Cela n'a pas été beaucoup cité, mais une citation importante est la synthèse syntaxique et sémantique à ALGOL de Joseph W. Smith en avril 1960 (dans le même numéro de CACM que la description de LISP par McCarthy). De ce papier:
Pour moi, cela constitue la preuve que "chaîne" signifie un type de données pour le calcul symbolique qui est affirmé dans le lexique universitaire et introduit de manière importante dans les outils utilisés pour le calcul commercial.
Incidemment, Programming Languages: History and Future de Jean Sammet (1972) suggère que COMIT et SNOBOL étaient les géniteurs de la manipulation de chaîne. Je suis donc plutôt convaincu qu'il n'y aura pas d'exemples antérieurs.
la source
Pas une réponse complète, mais l'utilisation d'une chaîne de caractères pour signifier "un nombre d'objets disposés en ligne" existait déjà à la fin des années 1400. La source
C'est essentiellement le même usage.
la source
La première référence que je pouvais trouver dans le calcul est de Mars 1963 « de la METEOR: Un LISP interprète pour les transformations de chaîne par Daniel G. Bobrow à AI Labs du MIT.
Le Oxford English Dictionary a un exemple informatique précédent tiré d’un numéro de 1956 du Journal de l’Association for Computing Machinery :
la source